如何使用带有已检查属性的collection_check_boxes?

时间:2016-06-28 18:31:19

标签: ruby-on-rails ruby erb

如何使我的模型通过checked属性检查我的collection_check_boxes对象?

我把它作为我的复选框表格

<div class="form-group">
    <label><%= car_brand.name %></label>
    <% car_model_each_brand = return_car_model_by_brand(car_brand.id) %>
    <% car_checked_model = return_car_model_by_filter_brand(@selected_model,car_brand.id) %>
    <br>
    <% car_checked_model.each do |car_model_check| %>
        id:<%= car_model_check.id %>  <%= car_model_check.code_name %> ,
    <% end %>
    <br>
    <div class="checkbox">

        <%= collection_check_boxes(:car_insurance_object_model,
                                   :car_model_id,
                                   car_model_each_brand ,
                                   :id,:code_name,
                                   checked: car_checked_model) do |b|
             b.label { b.check_box + b.text }
        end %>

    </div>
</div>

这就是它的样子

enter image description here

enter image description here

但是对于阿尔法罗密欧,它应该在156上进行检查 在奥迪上应该检查a3。

那我怎么解决这个问题呢? 谢谢!

1 个答案:

答案 0 :(得分:1)

answer here帮助了我。只需添加checked: true作为check_box的参数即可。所以在你的情况下,它看起来像这样:

<%= collection_check_boxes(:car_insurance_object_model,
  :car_model_id,
  car_model_each_brand ,
  :id,:code_name,
  checked: car_checked_model) do |b|
    b.label { b.check_box(checked: true) + b.text }
end %>

请记住将true更改为将评估为truefalse的任何其他表达式。