首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使复选框在Ruby中使用条件语句进行操作

无法使复选框在Ruby中使用条件语句进行操作
EN

Stack Overflow用户
提问于 2013-08-10 16:06:02
回答 2查看 966关注 0票数 0

提前感谢您的帮助!我给我的用户一种查看他们保存在我的MySQL数据库中的信息的方法。问题是,我的复选框状态不是根据用户在记录中保存的内容加载的。

代码语言:javascript
复制
    <% 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信息与视图连接起来。

代码语言:javascript
复制
    <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

代码语言:javascript
复制
    if params[:newitemid]
    @newitem = Newitem.find(:first, :conditions => {:id => params[:newitemid]})

newitemlookup.html.erb

代码语言:javascript
复制
    <% 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 %>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-14 04:23:16

我做了一些研究,并找出了如何添加一个复选框来查看记录,然后返回结果。这是我用的密码。这取代了if/ This语句。

代码语言:javascript
复制
    <%= check_box_tag 'optimize', '1', @newitem.optimize %>
票数 0
EN

Stack Overflow用户

发布于 2014-06-09 22:15:47

例如,如果您使用的是像f这样的表单生成器:

代码语言:javascript
复制
 <%= check_box_tag 'optimize', '1', f.object.optimize %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18163741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档