2009-08-05 5 views
16

이것은 부모 모델에 속한 필드가 하나 뿐이지 만 기본적으로 중첩 된 양식 질문입니다. 내 데이터 입력 양식은 모델에 대한 데이터를 수집하지만 실제로 세부 레코드로 생성 될 상위 레코드로 들어가는 다른 데이터 요소/값 (UserID)도 수집해야합니다.레일 - 하나의 양식에 여러 모델에 대한 사용자 입력 - 방법

AFAIK Rails는 각 양식 필드가 모델에 매핑 될 것으로 기대하며 별도로 사용할 언 바운드 데이터 입력 필드를 만들어야합니다.

이 기본 동작을 무시하고 '자유 양식/언 바운드 필드'를 만들려면 어떻게해야합니까?

TIA의 "마법"양식 <를 들어 BC

답변

43

내 앱에서 뭔가가 발생합니다.

액세스 권한 :

,
params[:company] and params[:user] 

컨트롤러 :

@company = Company.new 
@user = User.new 

보기 :

<% form_for @company, :url => companies_path do |f| %> 
    <%= f.error_messages %> 
    <p> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </p> 
    <p> 
    <%= f.label :website %><br /> 
    <%= f.text_field :website %> 
    </p> 
<hr /> 
    <% fields_for @user do |u| %> 
    <p> 
     <%= u.label :email %><br /> 
    <%= u.text_field :email %> 
    </p> 
    <p> 
     <%= u.label :username %><br /> 
    <%= u.text_field :username %> 
    </p> 
    <p> 
     <%= u.label :password %><br /> 
    <%= u.password_field :password %> 
    </p> 
    <p> 
    <%= u.label :password_confirmation %><br /> 
    <%= u.password_field :password_confirmation %> 
    </p> 
    <% end %> 
    <p> 
     <%= f.submit "Submit" %> 
    </p> 
<% end %>