Rails:仅在选中复选框时更新

时间:2012-09-06 13:43:37

标签: ruby-on-rails checkbox updatemodel

我想更新模型 - 仅点击复选框的行并插入备注

查看:

<%= 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

1 个答案:

答案 0 :(得分:-1)

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

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