Bea*_*ech 5 ruby-on-rails ruby-on-rails-4
我有一个form_for
在Rails中使用该collection_check_boxes
方法的一系列部件列为复选框.我希望复选框的标签是两种方法的组合,以便每个部分的复选框都标有它的名称和它的SKU编号:
我的表格代码:
<%= collection_check_boxes(:service, :part_ids, @parts_list, :id, :sku, {}, {checked: true}) %>
Run Code Online (Sandbox Code Playgroud)
这非常适用于创建复选框列表.但每个标签只是:sku
因为我只能传递一种标签方法.有谁知道为这些创建自定义标签的方法?我已经阅读了api文档,它提到了使用do |b| ... end
块但没有解释如何使用它或为什么.
这是修改后的表单代码:
<%= collection_check_boxes(:service, :part_ids, @parts_list, :id, :sku, {}, {checked: true}) do |b|
b.label { b.check_box + b.object.name + " " + b.object.sku}
end %>
Run Code Online (Sandbox Code Playgroud)
注意:
b.object.name
####假设name
您的模型中有字段名称
b.object.sku
####替换为b.object.sku.to_s
if sku
是数字字段.