为什么我的if if语句不能在ERB中运作?

时间:2013-09-27 13:40:06

标签: html ruby-on-rails

我想要输出"测试"如果all_day设置为" true"

这是我的代码:

<%= event.all_day == "true" ? 'test' : '' %>

如果我只有<%= event.all_day %>它确实有效,它确实输出了true或false。所以,我不确定我在这里做错了什么。

4 个答案:

答案 0 :(得分:2)

您将event.all_day布尔值与String进行比较:

true == 'true'
#=> false

正确的方法是:

<%= event.all_day ? 'test' : '' %>

答案 1 :(得分:2)

你试过了吗?

<%= event.all_day == true ? 'test' : '' %>

它可能正在评估字符串“true”对布尔值true,它正在评估false并返回一个空字符串。

答案 2 :(得分:1)

只是确定,你的意思是使用字符串“true”而不是布尔值true,对吗?

答案 3 :(得分:1)

您只需删除true

周围的引号即可
<%= event.all_day == "true" ? 'test' : '' %>

应该是

<%= event.all_day == true ? 'test' : '' %>