3

抱歉,如果这是一个初学者问题,只是我使用 HAML 的第一天,还没有习惯。

所以我在我的 HAML 中有这个:

%td= number_to_percentage(thera.group_dispense_rate, precision: 0)

我想更新它说如果thera.group_dispense_rate然后nil使用thera.provider_dispense_rate

所以我只需要一些帮助来更新这个 HAML 逻辑。

4

1 回答 1

7

只需使用双管道(或运算符)*:

number_to_percentage(thera.group_dispense_rate || thera.provider_dispense_rate, precision: 0)

双管(OR 运算符)* 的作用:

1.9.3p448 :090 > nil || "Bonjour Cartman"
# => "Bonjour Cartman" 

注意:双管道适用于 niland false,但不适用于空的东西(数组、字符串、散列),不适用于零(整数)。


对于 HAML,更长的版本:

%td
  - if thera.group_dispense_rate.present?
    = number_to_percentage(thera.group_dispense_rate, precision: 0)
  - else
    = number_to_percentage(thera.provider_dispence_rate, precision: 0)

* (或运算符)=布尔或,感谢@meagar

于 2013-08-22T20:17:41.707 回答