Я использую simple_form
и collection_check_boxes
в этой форме:
<%= simple_form_for(@geo_path_media_type) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :name %>
<%= f.input :category %>
<%= f.collection_check_boxes :required_fields, [{ :id => 1, :name => 'chris'}, { :id => 2, :name => 'damn'}], :id, :name, checked: [{ :id => 1, :name => 'chris'}, { :id => 2, :name => 'damn'}].map(&:id) do |b| %>
<span>
<%= b.check_box %>
<%= b.label %>
</span>
<% end %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
Я получаю сообщение об ошибке:
undefined method 'id' for {:id=>1, :name=>"chris"}:Hash
Использование такой коллекции, как User.all
, работает нормально, то есть:
<%= f.collection_check_boxes :required_fields, User.all, :id, :name, checked: User.all.map(&:id) do |b| %>
Почему я не могу использовать хеш здесь?