我试图在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的参数错误,我想这是一个愚蠢的问题,但后来我还没有看到它..
感谢您的帮助!
答案 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 %>
谢谢大家!