2

私は現在、以下のラジオボタンを介して役割を管理できる部分を持っています:

 <%= simple_form_for user, :url => user_path(user), :html => {:method => :put, :class => 'form-horizontal' } do |f| %>
      <h3>Change Role</h3>
      <%= f.input :role_ids, :collection => Role.all, :as => :radio_buttons, :label_method => lambda {|t| t.name.titleize}, :label => false, :item_wrapper_class => 'inline', checked: user.role_ids %>
      <%= f.submit "Add or Remove Role", :class => "btn" %>
<% end %>

チェックボックスを使用して複数のロールを追加または削除できるように、これを変更したいと考えています。

<%= simple_form_for user, :url => user_path(user), :html => {:method => :put, :class => 'form-horizontal' } do |f| %>
      <h3>Change Role</h3>
      <%= f.input :role_ids, :collection => Role.all, :as => :check_boxes, :label_method => lambda {|t| t.name.titleize}, :label => false, :item_wrapper_class => 'inline', checked: user.role_ids %>
      <%= f.submit "Add or Remove Role", :class => "btn" %>
<% end %>

しかし、これは機能しないようです。ラジオ ボタンを使用した場合のコンソールの応答は次のとおりです。

{"utf8"=>"✓", "authenticity_token"=>"MTV5MNomlkV86ynh0SVR6OW5SG3+9BCznWqcfq2xaWM=", "user"=>{"role_ids"=>"2"}, "commit"=>"Add or Remove Role", "id"=>"4"}

チェックボックスを使用する場合:

{"utf8"=>"✓", "authenticity_token"=>"MTV5MNomlkV86ynh0SVR6OW5SG3+9BCznWqcfq2xaWM=", "user"=>{"role_ids"=>["2", "3", "7", ""]}, "commit"=>"Add or Remove Role", "id"=>"2"}

では、なぜデータベースに保存されないのですか? 配列の最後に空のスポットがあるのはなぜですか?

4

0 に答える 0