我正在尝试使用 fields_for 方法从一个表单构建两个模型。我的代码如下所示:
<% 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:
<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>
...
这是相应的 Controller 和模型:
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
我做错了什么?
最佳答案
Fields_for 不是封闭表单对象的方法,因此将 f.fields_for
更改为简单的 fields_for
。
关于ruby-on-rails - rails : include index with fields_for form helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433036/