【发布时间】:2016-08-16 21:19:54
【问题描述】:
我是编程新手,在创建Remission 对象时遇到了一个复杂表单(对我来说)的问题。这个减免has_many Units。我有一个工作表单版本,但我想改进它。在我的实际版本中,您需要通过从所有单位(Unit.all)列表中的复选框选择它们来选择您想要的单位。它工作正常,但问题是单元是批量创建的,因此每种单元类型都有多个副本。我现在要做的是只显示每种不同类型的单元。每个单元类型都有一个唯一的product_code,所以我可以通过:
@units = Unit.where(sold:false).group(:product_code)
现在我的问题是我想将checkbox_tag 更改为select_tag,这允许我选择每种类型的单位数量以将它们添加到减免中。此选择标签应为从 0 到每种单位类型的单位数量。我对此有一个想法,但我需要一些我无法完成的修复:
<% @units.each do |unit| %>
</td>
<%= select_tag "quantities[]",options_for_select(0..Unit.where(product_code: unit.product_code).count) %>
</td>
<% end %>
可以帮我解决这个问题,它返回与 Unit 类型的 product_code 关联的所选数量的值,以便我可以使用该信息在控制器中创建 remission。在我学习的过程中,欢迎提出任何建议。
提前致谢。
【问题讨论】:
-
嗨,欢迎来到堆栈溢出。调试代码的口头描述非常困难。您能否编辑您的问题并添加您需要帮助的相关部分(例如选择框),包括您所做的任何尝试(即使它不起作用)以及您在尝试各种方法时遇到的任何错误。这样我们就可以准确地看到您正在尝试做什么,而不是为您自己从头开始设计它。然后我们可以帮助你:) 注意:不要将代码放在 cmets 中(例如这里),因为格式很糟糕......一定要编辑你的问题以添加新代码:)
-
哈哈 - 你在我打字的时候编辑过 :D 仍然 - 越多越好!你想让他们选择一个整数吗?
-
谢谢!等我回家的时候再编辑。是的,数量需要是一个整数,因为它对应于通过要添加的每个单元对象中的 remission_id 添加到缓解中的单元对象的数量。
标签: ruby-on-rails forms activerecord