Rails - 保存复选框值

时间:2013-05-05 17:03:26

标签: ruby-on-rails checkbox

只是尝试将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 %>

1 个答案:

答案 0 :(得分:0)

不是按照您的方式使用check_box_tag,而是将其更改为使用form_for提供的表单构建器对象。它会确保复选框的名称是正确的,这是你的问题(我认为)。

因为你没有使用它,所以复选框可能采用了一个不同的名称来预期看到哪些栏目,所以当你提交表格时,参数名称将不会与你的记录相关联,从而赢得了'改变。尝试使用

<%= f.check_box_tag :reminder %>

当页面加载时,Rails会自动处理它是否被勾选:)