에서 설정/초기화/, 나는 내 기본 "자동차"데이터베이스에서 인스턴스의 ID를로드 한 루비 파일이 있습니다. 따라서 응용 프로그램을 시작한 후 응용 프로그램에서이 기본 ID를 직접 사용할 수 있습니다.Rails 3 애플리케이션에서 이러한 충돌 상황을 제거하는 방법은 무엇입니까?
하지만는, 나는 데이터베이스 자동차 테이블에 기본 차를 저장하는 레이크 (씨앗) 작업 또는 다른 데이터베이스 마이그레이션 중 하나가 필요 databasae에이 기본 차를 삽입 먼저 필요하므로 .
여기에 이 오게됩니다. CONFLICT! 내가 레이크 작업이나 데이터베이스 인스턴스를 삽입 할 마이그레이션을 실행하면 아무것도 실행하기 전에 초기화 파일은 항상은 "/가 설정/초기화"의 전무 ID를 얻을 것이다 아래에 루비 파일을 의미하는 첫째을 실행됩니다 디폴트 카는 이 아니고,이 데이터베이스에 저장되어 있기 때문에 디폴트 카가됩니다.
그래서이 충돌을 없애려면 어떻게해야합니까? (이니셜 라이저 파일은 기본 자동차 ID 만 ONCE 만로드하는 목적입니다.) 기본 자동차 ID를 한 번만로드 할 수있는 다른 방법이 있습니까?
------------- 초기화에서 편집 ----------
코드 :
default_car=Car.where({:name => DEFAULT_CAR_NAME})
def default_car_id
return {:default_car_id=>default_car.id}
end
사용하는 코드를 붙여 넣을 수 있습니까? – Ant
내 이니셜 라이저 코드를 추가하고 업데이트 된 게시물을 확인하십시오. – Mellon
당신은 어디서나하는 대신에 이니셜 라이저에서 자동차를 만들 수 있습니다,하지만 이것은 좀 지저분 해 보입니다. 언제 어떻게 default_car_id를 호출합니까? – Ant