check_box_tag:调用并检查状态错误

时间:2012-10-09 14:48:02

标签: ruby-on-rails

我试图在check_box_tag上使用:called方法,并且还记住来自DB的布尔值的状态。

如果我设置check_box_tag没有选中的param,它会显示并使用被调用的方法将检查保存到数据库中,但我不能同时使用check和set_tag

继承人的代码

修改 我通过Hugo Logmans的建议从form改为form_tag:

<%= form_tag(courses_pensum_path(course_pensum.id), method: :put, remote: true, id: "edit_courses_pensum_#{course_pensum.id}") do %>
              <%= hidden_field_tag(:pensum_id, value=current_pensum.id) %>
              <%= hidden_field_tag(:course_id, value=course.id) %>
              <div class="form-inline">
                <%= check_box_tag name="type[]", value="other_area", checked: (course_pensum.other_area ? true : false),
                    :called, :onclick => "$('#edit_courses_pensum_#{course_pensum.id}').submit()" %>
                <%= label_tag 'OA', nil, class: "checkbox" %>
              </div>
            <% end %>

因为它显示了check_box_tag的参数错误,我想这是一个愚蠢的问题,但后来我还没有看到它..

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为这是一个语法错误,这里的朋友帮助我弄清楚......

这是我在

形式中最终得到的结果
<%= form_tag(courses_pensum_path(course_pensum.id), method: :put, remote: true, id: "edit_courses_pensum_#{course_pensum.id}") do %>
              <%= hidden_field_tag(:pensum_id, value=current_pensum.id) %>
              <%= hidden_field_tag(:course_id, value=course.id) %>
              <div class="form-inline">
                <%= check_box_tag "type[]", "other_area", course_pensum.other_area, 
                    :onclick => "$('#edit_courses_pensum_#{course_pensum.id}').submit()",
                    disabled: (current_user.role?('student') ? true : false ) %>
                <%= label_tag 'OA', nil, class: "checkbox" %>
<% end %>

谢谢大家!