2009-12-18 3 views
0

내가 드롭 다운에서 값이 어디에서 오는지에 대한 질문이 가치 대 데이터 마이그레이션 :레일 - DB

나는 몇 가지 초기 값으로 원래 테이블 설정 마이그레이션이 있습니다

add_column :contracts, :signature_status_id, :integer 

# lookup data 
sig = SignatureStatus.new(:name => "Delivered") 
sig.save! 
sig = SignatureStatus.new(:name => "Signed") 
sig.save! 

나는 업데이트 된 값을 포함하는 테이블이라고 signature_statuses 있습니다

0 :

id, name 
1, 'Delivered; awaiting signature' 
2, 'Delivered; awaiting full execution' 
3, 'Terms being negotiated' 
4, 'Fully executed and filed' 

나는 서명 상태를 꺼내하는 코드를 포함하는 폼이

<%= collection_select(:contract, :signature_status_id, @signature_statuses, :id, :name) %> 

DB에서 가져 오려는 경우 컬렉션 선택이 "서명 됨"및 "전송 됨"으로 표시됩니다. 어떻게하면 그렇게 할 수 있을까요?

참고 : 데이터가 마이그레이션보다는 수동으로 편집 된 것으로 생각되지만 확실하지 않습니다. 또한 "서명 된"코드와 "배달 된 코드"를 검색했지만 표시되는 유일한 위치는 마이그레이션에 있습니다.

답변

0

나는 "rake db"를 실행할 필요가 있고 그것을 수정했다.

0

나는 signature_statuses 테이블에서 어떻게 그 값 목록을 얻고 있는지 궁금 할 것입니다. 개발 데이터베이스를 쿼리하고 있습니까? 응용 프로그램이 개발 모드에서 실행 중입니까? database.yml 파일이 개발 데이터베이스를 가리 키도록 올바르게 설정되어 있습니까?

또한 @signature_statuses 변수를 채우는 컨트롤러 코드를 게시 할 수 있습니다.

조금 더 많은 정보와 사람들이 도움을 줄 수있을 것이라고 확신합니다.

+0

개발 DB 쿼리 – easement

0

흠이 조금 이상한,하지만 난 다음 의심 : 거기에 기본을 무시 당신의 signature_status 모델 내부 name라는 방법이 될 및 yesno를 반환 할 수도 있습니다.

0

이 디버깅하는 키

@signature_statuses 

가 제어부에 설정되는 위치를 찾는 것이다. 그것이 데이터베이스에서 빠져 나오면, 그것은 데이터베이스에있는 것입니다. 마이그레이션에 개발 데이터베이스가 업데이트 된 데이터베이스가 두 개 이상 있지만 프로덕션 (또는 이와 유사한 것)에 대해 쿼리를 실행중인 데이터베이스가 둘 이상 있는지 궁금합니다.

관련 문제