在此先感谢您的帮助!我正在为我的用户提供一种查看他们保存在我的 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 的记录以查看optimize 是1 还是0。如果@newitem.optimize 是1,我希望选中该复选框。如果没有,我不想检查它。
不幸的是,即使字段为 0,复选框也会显示为选中状态。
编辑 1
newitemlookup.html.erb 是带有复选框的表单所在的视图。我对其进行了一些更改,并从我的控制器中添加了代码。但是,我的所有复选框都被选中,即使它们不应该被选中。
我还想看看“@newitem.optimize”返回什么值,结果当我执行 <%= @ 时,数据库中的 1 和 0 在视图中显示为“true”和“false” newsavedmap.optimize %>。这可能是问题吗?
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 %>