Rails collection_check_boxes中的多个列名/自定义标签

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块但没有解释如何使用它或为什么.

Kir*_*rat 9

这是修改后的表单代码:

<%= 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_sif sku是数字字段.