目标是用种子数据预填充表单:https://github.com/ornerymoose/GarageApp
用于迭代摊位编号的相关代码如下garages_controller.rb
:
def new
@garage = Garage.new
for i in 1..5
@garage.cars.build :stall_number => i
end
end
这将提供 5 个stall_number字符串值 1、2、3、4 和 5。取而代之的是,我将如何迭代seeds.rb
文件中的值?
Car.create(stall_number: "stall1")
Car.create(stall_number: "stall2")
Car.create(stall_number: "stall3")
Car.create(stall_number: "stall4")
Car.create(stall_number: "stall5")
因此,stall_numbers的值不是 1、2、3、4 和 5。它们将具有 seeds.rb 文件中列出的字符串值。
这是车库_form.html.erb
中的fields_for
块:
<%= f.fields_for :cars do |builder| %>
<p>Enter license for car parked in stall: <%= builder.object.stall_number %></p>
<%= builder.label :license, "License #:" %><br />
<%= builder.text_field :license %>
<% end %>
非常感谢对此事的任何投入。
只需在种子文件中执行相同的循环即可。
for i in 1..5
Car.create(stall_number: "stall" + i.to_s)
end
如果它们是静态的,只需在数组中创建它们并调用它们。
array = ["stallA", "stallDC", "stall874", "stallNN", "stallPO", "stalSF", "stallRE", "stall456", "stall39", "stall99"]
array.each {|x| Car.create(stall_number: x)}