在 edit.html.erb 中我尝试了
<%= @routine.check_box :archive %>
,导致:ActionView::Template::Error (undefined method 'check_box' for #<Routine:0x007f836fe69de0>):
然后我尝试编辑:
<%= simple_form_for(@routine) do |f| %>
<%= f.check_box :archive %>
<% end %>
删除了错误,但当我点击复选框时,它不会更新为true。
模式
t.boolean "archive", default: false
routines_controller
def edit
end
def update
respond_modal_with @routine, location: root_path
end
def routine_params
params.require(:routine).permit(
:archive,)
end
答案 0 :(得分:2)
您需要使用boolean
帮助器。查看Available input types列表。
<%= simple_form_for(@routine) do |f| %>
<%= f.input :archive, as: :boolean, checked_value: true, unchecked_value: false %>
<% end %>