我想更新模型 - 仅点击复选框的行并插入备注
查看:
<%= 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
答案 0 :(得分:-1)
问题在于它们都有相同的名称。所以无论最后一个是什么价值,这就是请求参数中的内容。
这有点旧,但您可能想在这里查看railscast:http://railscasts.com/episodes/73-complex-forms-part-1。基本思想是在每个用户对象的顶部使用fields_for。我之前没有自己做过,否则我会写一个完整的解决方案:)。