在表单提交验证错误后保留check_box_tag的状态

时间:2011-12-04 03:53:26

标签: ruby-on-rails

我在表单助手中使用check_box_tag,并且在提交验证错误后所有其他字段都保留其输入,但check_box_tag没有。有没有办法让check_box_tag在失败的表单提交中保存其状态?这是代码:

<%= check_box_tag 'user_ids[]', 
                  user.id,
                  false,
                  :class => 'user_checkbox' %>

我需要在此上下文中使用check_box_tag而不是check_box。

1 个答案:

答案 0 :(得分:8)

您已将false传递给check_box_tag,因此所有复选框均已停用。要解决这个问题,你可以这样做:

<%= check_box_tag 'user_ids[]', 
                  user.id, 
                  params[:user_ids].include?(user.id),
                  :class => 'user_checkbox' %>

它检查user.id是否在提交的用户ID中,如果是,则检查复选框。