在我的第一个Rails应用程序中,我正在尝试使用
更新:为了澄清,根据Dan的建议,我尝试了
form_for
和fields_for
创建嵌套对象表单。目前为止一切顺利,但我不知道如何在fields_for
块内访问子对象。我已经在子对象中预填充了一个字段的数据,并希望在用户指南中显示这些数据。
模型
车库:
has_many :cars, :dependent => :destroy
accepts_nested_attributes_for :cars
汽车:
belongs_to :garage
车库控制器
def new
@garage = Garage.new
for i in 1..5
@garage.cars.build :stall_number => i
end
end
_form.html.erb
<%= form_for @garage do |f| %>
<%= f.label :title, "Garage Name" %><br />
<%= f.text_field :title %>
<% f.fields_for :cars do |builder| %>
<p>Enter license for car parked in stall: <%= car.stall_number %></p>
<%= f.label :license, "License #:" %><br />
<%= f.text_field :license %>
<%= end %>
<%= end %>
正如你所看到的,我想在:cars的生成器块中,在我的用户说明中显示字段:car.stall_number
(在我的控制器中填充整数):
<p>Enter license for car parked in stall: <%= car.stall_number%></p>
我尝试了很多不同的想法:@car.stall_number
,object.car.stall_number
等等。没有任何进展。多次搜索和查看fields_for
源代码都没有帮助我理解。我会感激任何指导。更新:为了澄清,根据Dan的建议,我尝试了
builder.stall_number
,但结果是一个错误。NoMethodError: undefined method 'stall_number' for #<ActionView::Helpers::FormBuilder:0x00000102a1baf0>