2012-06-25 4 views
0

나는 다음과 같은 모델을 가지고 :레일 양식 has_many through - 선택할 모델은 무엇입니까?

Student has_many :subjects, :through => :classes 

Subject has_many :students, :through => :classes 

Class belongs_to :subject 
     belongs_to :student 

모델 클래스 수준이라는 추가 (피사체까지의 외래 키 사이의 학생 테이블) 속성이 있습니다.

기본적으로 나는 학생이 주제를 선택하고 주제를 기록에 연관시킬 수있는 양식을 원합니다. 그래서, 나는이있다 : 어떻게 폼의 객체를 생성해야한다

ClassesController < ApplicationController 

def new 
@list_of_subjects = Subject.all 
# What should I do here? 
end 

내 질문? 어떤 모델이되어야합니까, 대상, 학생 또는 수업? 나는 학생과 학생이 선택한 주제를 연관 짓는 기록을 수업 표에 만들 수 있기를 원하지만 나는 잘못했는지 모른다.

감사

나는 그것이 키워드입니다,하지만 여기에도이 둘 없기 때문에 당신이 Class라는 모델을 만들 수 있다고 생각하지 않았다

답변

0

...

먼저 나는 당신의 컨트롤러와 뷰가 Student를 사용해야한다고 생각 이런 것들을 선택하는 학생이기 때문에. 다음으로, Student 모델에 을 추가하면 Student에서 Class 커넥터 모델의 인스턴스를 만들 수 있습니다.

당신이하려는 것은 내가 시도한 것과 약간 비슷한 것처럼 들립니다. 거기에 전체 코드가 있습니다. 내가 늦게 알고

Rails: How do I prepend or insert an association with build?

을,하지만 난 그게 도움이되기를 바랍니다 :

Using nested attributes to easily select associations in a form

은 나중에이 질문에 조금 너무 코드가 덜 끔찍하게 그것을 정제.