0

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

如果我在没有选中参数的情况下设置 check_box_tag,它会显示并使用调用的方法将检查保存到数据库中,但我不能在同一个 check_box_tag 上同时使用选中和调用

这是代码

编辑 我根据 Hugo Logmans 的建议从 form for 更改为 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 的参数错误,我想这是一个愚蠢的问题,但我还没有看到它..

感谢您的帮助!

4

1 回答 1

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

谢谢你们!

于 2012-10-09T16:23:59.070 回答