2010-01-15 2 views
0

세 가지 모델이 있습니다. 질문을하기 위해 나는 그 글자들을 containertable1과 containertable2라고 부를 것입니다.: foreign_key가 오른쪽 열에서 요청하지 않습니까?

기본적으로 posts 테이블에는 containertable1 또는 containertable2에있는 항목의 ID가있는 misc_id라는 열이 있습니다. 외래 키 연관을 설정하려고했지만 지정한 열에서 가져 오는 것 같지 않습니다.

그래서 여기 내 post.rb 모델의 모습입니다 같은 :
클래스 포스트 < 액티브 :: 자료
belongs_to : containertable1 : 다형성 => 사실, : foreign_key => "misc_id을"
belongs_to : containertable2 : 다형성 => 사실, : foreign_key => "misc_id"
set_table_name "거래"

그리고 내 containertable1.rb 모델 :
클래스 Containertable1 < 액티브 :: 자료
0123을has_many : 거래

그러나 스크립트/콘솔
, 내가 Containertable1.find 실행할 ​​때 (첫째) :

알 수없는 열 'posts.containertable1_id'

I .posts를, 그것은 나에게 오류를 제공합니다 대신에 "misc_id"열을 찾으려고했으면합니다. 누군가 내가 잘못하고있는 것에 대해 통찰력을 줄 수 있습니까? 큰 감사 :)

답변

0

나는 이것에 대해 좀 더 놀았지만 생각했다.

외래 키는 실제로 containertable.rb 모델에 있어야합니다. 그래서 여기 내가 변경 내용은 다음과 같습니다

클래스 Containertable1 < 액티브 :: 자료 has_many : 게시물 : foreign_key => "misc_id"

관련 문제