0

我想更新一个模型 - 仅在单击 checkox 并插入备注的行

看法:

<%= form_tag update_fb_instruction_users_path, :method => :put do %>
<% @user_wishes.each do |u| %>
   <%= u.user.name %>
      <%= fields_for "instruction[]", u do |f| %>
      <%= f.text_field :remark_tl %>
   <% end %>
   <%= check_box_tag "instruction_user_ids[]", u.id %>

<% end %>

控制器:

def update_fb

params[:instruction_user_ids].each do
@check = InstructionUser.update(params[:instruction].keys, params[:instruction].values).reject { |p| p.errors.empty? }
end
4

1 回答 1

-1

问题是它们都具有相同的名称。所以无论最后一个值是什么,这就是它在请求参数中的值。

它有点旧,但您可能想在这里查看 railscast:http ://railscasts.com/episodes/73-complex-forms-part-1 。基本思想是在每个用户对象之上使用 fields_for。我以前没有自己做过,否则我会写一个完整的解决方案:)。

于 2012-09-06T13:56:04.980 回答