我有 rails form_tag helper 来保存 do..each 循环提供的数据。这是我的表格:
<%= form_tag (customers_path) do |f| %>
< @contacts.each do |c|%>
<%= check_box_tag "accept[]", c %><%= c[:email] %>
<% end %>
<%= submit_tag ("Save") %>
<%end%>
此表单保存选中复选框的联系人。这就是 c 具有的内容:
"accept"=>["{:id=>\"2f310f1d9b8f\",
:first_name=>\"San\",
:last_name=>\"Jori\",
:name=>\"Jori,San\",
:email=>\"abc@qwe.com\",
:gender=>nil,
:birthday=>nil,
:profile_picture=>nil,
:relation=>nil}"],
"commit"=>"Save"
我只想从上面的哈希中保存 :name 和 :email 。这是我的控制器的创建操作:
if params[:accept].present?
params[:accept].each do |customer|
@customer = current_user.customers.new(:name => customer[:name], :email => customer[:email])
@customer.save
end
redirect_to customers_path
end
但它给出的错误是:
no implicit conversion of Symbol into Integer
谁能告诉我如何使它工作?
谢谢!