この形:
<%= form_tag({:controller => "smart_lists", :action => "create"}, class: 'form-inline', :method => "POST") do %>
<%= label_tag :name %>
<%= text_field_tag :name %><br><br>
<% @people.each do |person| %>
<%= check_box_tag 'people_id[]', id: person.id %><%= label_tag person.name %><br>
<% end %>
<%= submit_tag "Create", class: 'btn' %>
ここで、チェック ボックス リストをコントローラに送信します。
def create
@smart_list = SmartList.new(params[:smart_list])
@smart_list.name = params[:name]
@smart_list.people = params[:people_id]
etc....
そして、ログに次のように記録されます。
"name"=>"This is not working : (", "people_id"=>["{:id=>64}", "{:id=>8}", "{:id=>1}"]
そして、これは私の見解では:
Person(#70133507313700) expected, got String(#70133469090180)
だから、私の質問は-それらの文字列からそのものを壊す方法はありますか? または、より良い方法でフォームから送信できますか? または、コントローラーでより良い方法でそれらをキャッチしますか?
助けてくれてありがとう - ジョーイ