ruby-on-rails-3 – Rails 3 – 如何保存(取消)选中的复选框?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – Rails 3 – 如何保存(取消)选中的复选框?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表单(form_tag)几个这样的复选框:
<%=check_Box_tag 'model_name[column_name]',1,(@data.model_name.column_name == 1 ? true : false)%>

并更新它们:

variable = ModelName.find(params[:id])             
variable.update_attributes(params[:model_name])

这只能在一会儿,当我检查一些复选框 – 发送他们,他们将被保存.没关系.
但是当我取消选中所有复选框 – 发送表单 – 所以没有发生,在DB表中将不会在列中设置值0 …

你可以给我任何提示,如何解决

先谢谢你

解决方法

这是因为未选中的复选框将不会向服务器发送任何值.为了规避这个Rails提供的 check_box帮助器,它生成如下代码
<input type="hidden"   name="model[attr]" value="0" />
<input type="checkBox" name="model[attr]" value="1" />

或者,使用hidden_​​field_tag插入隐藏的字段:

<%= hidden_field_tag 'model_name[column_name]','0' %>
<%= check_Box_tag 'model_name[column_name]',(@data.model_name.column_name == 1 ? true : false) %>
原文链接:https://www.f2er.com/ruby/266956.html

猜你在找的Ruby相关文章