对不起,如果这是一个初学者问题,我只是第一天使用 HAML,但仍然不习惯。
所以我的 HAML 中有这个:
%td= number_to_percentage(thera.group_dispense_rate, precision: 0)
我想更新它以说明如果 thera.group_dispense_rate
为 nil
然后改用 thera.provider_dispense_rate
所以我只需要一些帮助来更新这个 HAML 逻辑。
最佳答案
只需使用双竖线(OR 运算符)*:
number_to_percentage(thera.group_dispense_rate || thera.provider_dispense_rate, precision: 0)
双管道(OR 运算符)* 的实际应用:
1.9.3p448 :090 > nil || "Bonjour Cartman"
# => "Bonjour Cartman"
注意:双管道适用于 nil
和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)
*(或运算符)= bool 值或,感谢@meagar
关于ruby-on-rails - 在 Rails 的 HAML 中编写 if-else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390026/