这种形式:
<%= 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)
所以,我想我的问题是 - 有没有办法把那些东西从这些字符串中解脱出来?或者我可以以更好的方式通过表格发送它们吗?或者在控制器中以更好的方式捕获它们?
感谢您的帮助 - 乔伊