Ruby on rails 3 在RubyonRails 3.2中使用相等==0

Ruby on rails 3 在RubyonRails 3.2中使用相等==0,ruby-on-rails-3,Ruby On Rails 3,我不知道该如何表达我的问题。我有一个事件模型,其中一个字段叫做“状态”。我希望在视图中有一个条件,可以使用事件的状态显示消息 默认字段值为“0”。我已经有一些活动了。我的代码看起来像这样。但什么也没发生。我错过什么了吗?我还尝试使用>0 <% if event.state == 0 %> <p> I will print a message here </p> <% end%> 我将在这里打印一条消息 我在这里遗漏了什么吗?状态是存

我不知道该如何表达我的问题。我有一个事件模型,其中一个字段叫做“状态”。我希望在视图中有一个条件,可以使用事件的状态显示消息

默认字段值为“0”。我已经有一些活动了。我的代码看起来像这样。但什么也没发生。我错过什么了吗?我还尝试使用>0

<% if event.state == 0 %> 
    <p> I will print a message here </p>
<% end%>

我将在这里打印一条消息


我在这里遗漏了什么吗?

状态是存储为varchar还是整数?如果是varchar,请尝试执行以下操作


如果event.state==“0”
您的状态的数据类型是什么

如果其存储为字符串,则尝试
If event.state.eql?“0”

有关字符串的条件检查的详细信息,请参见

确定问题所在的步骤

  • 检查事件是否存在?通过
    raise事件。检查
  • 检查event.state的类
    put event.state.class.name.inspect

  • 值是整数还是字符串?它是整数。声明int(11)如果在
    if
    之前执行
    操作,会输出什么?@ScottJShea,非常感谢。我有另一个名为state的模型(我在其中存储国家/地区),它导致了冲突。然后我将字段“状态”改为“事件状态”,现在一切正常了。@Vezu很高兴我能帮上忙。我自己也犯过类似的错误,只是将其更改为varchar,然后尝试了您的建议,但没有成功。当您进入控制台并仅打印出
    事件。状态
    时会发生什么?尝试在该输出上运行
    .class
    ,查看它输出的是什么类。