【发布时间】:2014-09-27 19:13:10
【问题描述】:
我有一个视图show.html.eb,它显示Order 的详细信息,并显示订单date 的所有可用Delivery Slots。
例如: 订单 1 2014 年 12 月 12 日 交货时段: 6.30 - 7.00 7.30 - 8.00 8.00 - 8.30
然后,我在每个交付槽旁边都有一个链接,单击该链接会将Order 上的字段delivery_slot 更新为单击的交付槽的Id。
查看代码
<% @slots = DeliverySlot.all.select {|slot| slot.day == @order.date} %>
<% @slots.each do |slot| %>
<%=slot.start_time.strftime("%I:%M%p") %> - <%=slot.end_time.strftime("%I:%M%p") %>
<%= link_to "Order", Order.update(@order,:delivery_slot => slot) %>
<br>
<% end %>
问题是,当您单击一个订单链接时,所有订单链接都被单击(我可以通过终端中的 SQL 看到这一点),因此最终结果是 delivery_slot 字段始终填充最后一个交货槽的循环。
我很感激我在这里遗漏了一些东西,所以任何人都可以解释一下:
1) 为什么在实践中只点击 1 时所有订单链接都被“点击”。
2) 有没有更好的方法来更新订单上的delivery_slot 属性?
谢谢
【问题讨论】:
-
你能发布一些生成的 HTML 吗?
标签: ruby-on-rails ruby-on-rails-4 view controller