2

두 모델 (교사 및 주제)을 설정하는 방법에 대한 제안을 찾고 있습니다. 교사는 많은 과목을 가질 수 있으며, 과목은 많은 교사를 가질 수 있습니다. 두 모델 간의 관계에서 고려해야 할 또 다른 사항은 교사가 주제를 만들고 주제에 다른 교사를 추가 할 수 있다는 것입니다.has_many가 서로 연관되어있는 두 모델을 설정하는 방법

는 내가의 기초에 고체라고 생각 각 모델 설정 : teacher.rb에 대한

: subject.rb에 대한

has_many :subjects 

:

has_many :teachers 

및 teachers 테이블에는 subject_id 열이 있어야하며 subject 테이블에는 teacher_id 열이 있어야합니다.

내가 잘 모르겠다는 점은 교사에게 주제를 추가 할 수 있도록보기 (및 해당 컨트롤러 메소드)를 설정하는 방법입니다.

모든 제안 (또는 예제 링크)은 크게 감사하겠습니다. 나는이 정확한 경우에 아무것도 찾을 수 없었습니다.


현재 설정 : Student 객체에 대한

  • 표준 CRUD
  • 프로젝트 객체

내가 가능성이 넥타이를하는 방법은 간단 뭔가를 누락에 대한

  • 표준 CRUD 모델을 함께 (has_many를 habtm으로 바꾸는 부분을 제외하고) 그리고 subjects_teachers 테이블에 레코드를 가져 오는 것, 그리고 나는 여전히 좋은 예제를 찾을 수 없다.

  • +0

    은이를 참조하여 컨트롤러

    를 설정하는이 railscasts를 참조하십시오 http://guides.rubyonrails.org/association_basics.html#the- has_and_belongs_to_many-association – Zabba

    답변

    3

    사이에 관계형 테이블을 빌드해야합니다. 그것은 확인해 테이블하지만 오프

    우선없이 많은 많은 관계를 가지고하는 것은 불가능, 그것은 has_and_belongs_to_many의 : 주제와 has_and_belongs_to_many : 교사 (일반적으로 HABTM이라한다)

    http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association

    실행

    create_table :subjects_teachers, :id => false do |t| # ID => FALSE = IMPORTANT 
        t.references :subject 
        t.references :teacher 
        # NO TIMESTAMPS 
    end 
    
    :
    rails g migration subjects_teachers 
    

    마이그레이션을 열어

    run rake db : migrate 및 설정해야합니다!

    http://railscasts.com/episodes/17-habtm-checkboxes

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

    +0

    누군가 내 railscasts 링크를 삭제 한 이유가 무엇입니까?안된다 – sethvargo

    +0

    나는 너의 대답을 조금 편집했는데, 나는 유감 스럽지만 링크를 알아 차리지 못했다. (이상한, 내가 알기 론, 나는 왜 거기에 그것을 보지 못했는지 혼란 스럽다!). 마지막으로, 사과는 - 앞으로 더 많이 * 더 조심스럽게 될 것입니다. – Zabba

    +0

    감사합니다. habtm에 도움이됩니다. 나는 분명히 이것을 많은/많은 연관을위한 해결책으로 놓쳤다. 언급 된 railscasts는 habtm 설정에 도움이되었지만 컨트롤러 코드에 아무런 입력도 제공하지 않습니다. 주제를 추가 할 때 작성된 subjects_teachers 레코드가 없기 때문에 모델을 적절하게 설계해서는 안됩니다. 내 질문을 편집하여 현재 설정에 대한 추가 정보를 포함합니다. – daz13

    관련 문제