提前感谢您的帮助!我给我的用户一种查看他们保存在我的MySQL数据库中的信息的方法。问题是,我的复选框状态不是根据用户在记录中保存的内容加载的。
<% if !params[:newitem_id].blank? and @newitem.optimize != 1 %>
<input type="checkbox" name="optimize" id="optimize">
<% else %>
<input type="checkbox" name="optimize" id="optimize" checked="true">
<% end %>我的条件语句首先要查看是否存在newitem_id。这是一个隐藏的字段,它只将所有@newitem信息与视图连接起来。
<input name="newitem_id" type="hidden" value="<%= params[:newitemid] %>" /> 当我在页面其他地方的条件语句中使用它时,这是很好的。
接下来,我的条件语句查看@newitem的记录,以查看优化是1还是0。如果@newitem.optimize是1,我要选中复选框。如果没有,我不想检查。
不幸的是,即使字段为0,复选框也显示为选中。
编辑1
newitemlookup.html.erb是带有复选框的表单所在的视图。我对它做了一些修改,并从我的控制器中添加了代码。但是,我所有的复选框都会被选中,即使它们不应该被选中。
我还想看看"@newitem.optimize“返回的值是什么,结果是当我执行<%= @newsavedmap.optimize %>时,数据库中的1和0在视图中显示为"true”和"false“。这可能是问题所在吗?
newitemlookup_controller
if params[:newitemid]
@newitem = Newitem.find(:first, :conditions => {:id => params[:newitemid]})newitemlookup.html.erb
<% if params[:newitemid] and @newitem.optimize = false %>
<input type="checkbox" name="optimize" id="optimize">
<% else %>
<input type="checkbox" name="optimize" id="optimize" checked="true">
<% end %>发布于 2013-08-14 04:23:16
我做了一些研究,并找出了如何添加一个复选框来查看记录,然后返回结果。这是我用的密码。这取代了if/ This语句。
<%= check_box_tag 'optimize', '1', @newitem.optimize %>发布于 2014-06-09 22:15:47
例如,如果您使用的是像f这样的表单生成器:
<%= check_box_tag 'optimize', '1', f.object.optimize %>https://stackoverflow.com/questions/18163741
复制相似问题