唔明:一个的Ruby/Rails基于web的数据库(由另一个创建的),用于产生和跟踪工程功能的在一个复选框
多个=>真我很新的Ruby on Rails的,我继承控制。我使用Aptana IDE。唔明:一个的Ruby/Rails基于web的数据库(由另一个创建的),用于产生和跟踪工程功能的在一个复选框
我的问题是,我试图用一个表格帮手,为我们的“产品线”选择多个值。我使用了10个复选框,如果我不使用“:multiple => true”,我会得到一个值的正确输出。
参见输出图像:
作品如预期
<%= f.check_box :product_line, {:class => "field"}, "A9", false %> A9
(具有不同的值,其中 “A9” 的10倍,所以有10个复选框总,图像显示“A7 “复选框返回)
通过简单地将:多个=>真,如下面看到的图像在输出的变化:
看到输出图像:
回报太多
<%= f.check_box :product_line, {:class => "field", :multiple => true}, "A9", false %> A9
为什么所有的 “ - ” 输出之前只加如果多做出选择?我希望它仅返回逗号分隔值的复选框,即“A9,A7”
PRODUCT_LINES = [ "A9", "A7", "AG", "AF", "S3", "Legacy", "K/Kpro", "EMW", "HD", "Non-Metallic" ]
其他的想法: 我可以遍历数组:product_line得到什么即时寻找呢? 我也在玩下拉菜单中的多项选择,但在返回下拉菜单之前永远不会选择第二个选项,只能选择我的第一个选项。
为什么仅在多个 选项被选中时才在输出之前添加所有这些“ - ”?
从the docs (read the Gotcha)当多个设置为true,所有的选择都将存储在product_lines但未选择check_boxes的阵列也将准备金作为发送pararms一个空字符串所以对于结果你看到product_lines会是这样的:
product_lines = ["", "", "", "A9", "A7"]
我可以遍历数组:product_line得到什么即时寻找 的呢?
嗯,实际上这需要我们正确的使用multiple: true
在你的代码中的问题。
该过程在上述(1)是check_box_tag是如何设计的,你所看到的问题是,在演讲可能在你的ECN#秀解释。在没有仔细检查代码中有我只是猜测,但通常是这样的:
<%= @ecn.product_lines.join('-') %>
这应该是
<%= @ecn.product_lines.reject(&:blank?).join(',') %>
其中:reject(&:blank?)
摆脱空字符串,然后用,因为你需要
希望这有助于!
我向你的激情兄弟致敬。您正在Windows机器上进行Rails开发。 –