我有一个Item模型和一个Cycle模型。项目模型属于周期,周期有很多项目。项目模型具有条形码值和cycle_id值。
我希望有一个显示周期模板,其中有10个空白字段用于输入条形码值。假设数据库中已存在100个项目(条形码值但没有cycle_id)。当在字段中输入条形码值时,应用程序应拉出每个输入的条形码值,并使用当前所选循环的cycle_id更新相关项目。
这可能是一个太宽泛的问题,但我已经圈了几个小时,我甚至不知道从哪里开始。任何帮助是极大的赞赏。谢谢!
答案 0 :(得分:1)
在你的周期新/编辑表单中,我会在表单的某处添加十个空输入框。不是标记的最好例子,但是像这样:
<% 10.times do %>
<input name="barcodes[]" />
<% end %>
然后在你的循环控制器中,我会找到循环,然后添加他们输入的所有条形码。如果它们不存在,我假设你不想让它们创建新的条形码。 (这是Rails 3语法)
def update
@cycle = Cycle.find(params[:id])
barcodes = Item.where(:barcode => params[:barcodes])
@cycle.barcodes = barcodes
@cycle.save
end
答案 1 :(得分:0)
假设您要将条形码ID为1,2,3,4的项目添加到ID为1的Cycle中。您可以这样做
cycle = Cycle.find(1)
[1, 2, 3, 4].each do |barcode|
item = Items.where(:barcode => barcode)
cycle.items << item
end
cycle.save
或做
cycle = Cycle.find(1)
[1, 2, 3, 4].each do |barcode|
item = Items.where(:barcode => barcode)
item.cycle = cycle
item.save
end