2011-02-09 7 views
0

두 모델, model_1과 model_2가 있습니다.Ruby on Rails - 일대 다 관계를 위해 "Mysql2 :: Error : Unknown column"을 얻습니다.

model_1.rb :

has_many :model_2s 

model_2.rb :

belongs_to :model_1 

그러나 나는 다음과 같은 오류 얻을 @model_1.model_2s 할 때 :

ActionView::Template::Error (Mysql2::Error: Unknown column 'model_2.model_1_id' in 'where clause': SELECT `model_2`.* FROM `sketches` WHERE (`model_2s`.model_1_id = 1)) 

을 나도 같은이 SQLite3을 사용하는 문제. 도움에 미리 감사드립니다.

+1

외래 키에 대한 이전 색인을 추가 했습니까? – John

답변

1

has_many는 기본적으로 규칙을 사용합니다.)

has_many :model_2s

는 "model_1는"그에게 속한 것을 찾기 위해 기본적으로 "model_2"테이블의 컬럼 "model_1_id"를 사용합니다 (이봐, 당신은 모델의 이름을 선택했다). 그러나 당신은 그 칼럼을 놓치고있는 것처럼 보입니다.

알려지지 않은 이유로 (마이그레이션 파일을 제공하지 않는 한) 테이블에 해당 열이 없습니다.

+0

죄송합니다 ... 이전 파일에 넣지 않았습니다. – SZH