只是尝试将4个复选框的值保存到我的门票模型中名为reminders
的列中。
但是,要么没有保存这些值,要么当我回去编辑这个“Ticket”时,它不会从数据库中提取数据并正确显示真/假vaules。
有什么建议吗?
/tickets/_form.html.erb
<%= form_for(@ticket) do |f| %>
<div>
<% [ 'S.T.A.R.T', 'E.N.D.E.D', 'URGENT' , 'Repeat Request' ].each do |reminder| %>
<br><%= check_box_tag 'reminders', reminder, (params[:reminders] || {}).include (reminder) %>
<%= reminder.humanize %>
<% end %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
答案 0 :(得分:0)
不是按照您的方式使用check_box_tag,而是将其更改为使用form_for提供的表单构建器对象。它会确保复选框的名称是正确的,这是你的问题(我认为)。
因为你没有使用它,所以复选框可能采用了一个不同的名称来预期看到哪些栏目,所以当你提交表格时,参数名称将不会与你的记录相关联,从而赢得了'改变。尝试使用
<%= f.check_box_tag :reminder %>
当页面加载时,Rails会自动处理它是否被勾选:)