2010-03-12 2 views
3

fields_for 메소드를 사용하여 하나의 양식에서 두 개의 모델을 작성하려고합니다. 내 코드는 다음과 같습니다레일즈 : fields_for 형식 도우미로 인덱스 포함

<p> 
    Scale<br /> 
    <label for="event_scale__name">Name</label> 
    <input id="event_scale__name" name="event[scale][][name]" size="30" type="text" /> 
    <label for="event_scale__price">Price</label> 
    <input id="event_scale__price" name="event[scale][][price]" size="30" type="text" /> 
</p> 

... 

여기에 해당 컨트롤러와 모델의 :

class EventsController < ApplicationController 
    ... 

    def new 
    @event = Event.new 
    @providers = Provider.find(:all, :order => :name) 
    3.times { @event.scales.build } 
    respond_to do |format| 
     format.html 
    end 
    end 

    ... 
end 


class Event < ActiveRecord::Base 
    has_many :scales 

    ... 
end 

내가 뭘 오전

<% for scale in @event.scales %> 
    <% f.fields_for "scale[]", scale do |scale_form| %> 
    <p> 
     Scale<br /> 
     <%= scale_form.label :name %> 
     <%= scale_form.text_field :name %> 
     <%= scale_form.label :price %> 
     <%= scale_form.text_field :price %> 
    </p> 
    <% end %> 
<% end %> 

하지만이 불행하게도 출력 HTML은 저울의 ID를 빠져 잘못하고있는거야?

답변

3

Fields_for은 포함하는 폼 객체 방법 아니므 f.fields_for 단순히 fields_for 변경.

관련 문제