2013-10-08 3 views
0

내 레일 앱에는 forms, languageslevels의 세 가지 테이블이 있습니다.조인 테이블을 다른 테이블과 연결

forms 테이블에 커리큘럼 사람들이 제출하는 정보가 있습니다.
제출자 개인 정보에 관한 다양한 칼럼이 있으며 그 중 하나는 외국어 지식 수준입니다.

languages 표는 교육 과정의 형태로 존재해야한다 언어를 보유하고 있으며 그것은 id, name, created_atupdated_at 열이 있습니다.

levels 표는, 지금 당장은 기본이, 중간 및 고급 언어에 대한 지식 수준을 보유하고 있으며 그것은 id, name, created_atupdated_at 열이 있습니다.

내가 내 languages 테이블을 연관시킬 수 있었다 다음 코드를 사용하여 내 levels 테이블 : 이제

#app/models/level.rb 
class Level < ActiveRecord::Base 
    has_and_belongs_to_many :languages 
end 

#app/models/language.rb 
class Language < ActiveRecord::Base 
    has_and_belongs_to_many :levels 
end 

가, 네 번째 테이블이 두 테이블을 관련 내 데이터베이스에 존재의 languages_levels 테이블, 아무 상관이없는 그 외의 경우에는 language_idlevel_id 열입니다.

방법이 있나요

languages 테이블에 기록 된 모든 언어의 levels 테이블에 존재하는 라디오 버튼 입력의 집합에 대해 표시 할 수있는 방법으로 내 forms 테이블이 languages_levels 테이블을 관련시키는, Formtastic 사용하고 계십니까?

답변

1

잘못된 접근. 당신은 삼자 일대 다 관계가 필요합니다.

은 즉,이 모델을 만들어야합니다, Form, LanguageLevel에 속한 LanguageLevel을 말한다. 그런 다음 각각 Form에 대해 Language에 대해 LanguageLevel을 채울 수 있습니다.

+0

3 시간 동안 무엇을 해야할지 몰라서 나는 당신의 접근 방식을 시도했고 그것을하는 유일한 방법처럼 보입니다. 감사! –

0

확인이 스크린 캐스트를 그들이 올바른 방향을 알려줄 수 있습니다

http://railscasts.com/episodes/47-two-many-to-many

당신이되고 ( has_and_belongs_to_manylanguage_lavels 테이블을 사용) 브리지 테이블을 보인다 사용하여 설명 무엇을 위해

http://railscasts.com/episodes/185-formtastic-part-2

+0

3 방향 조인을 만들려고하기 때문에 너무 많이 도와주지는 않았고 일반적인 조인 2 가지 조인으로 만 도움이되었습니다. –

관련 문제