如果这是一个初学者的问题我很抱歉,因为这是我第一次使用HAML,还不太习惯。
所以这是我在HAML中的代码:
%td= number_to_percentage(thera.group_dispense_rate, precision: 0)
我希望更新这段内容。如果
thera.group_dispense_rate
为空,那么将使用thera.provider_dispense_rate
。我只需要帮助更新这个HAML逻辑。如果这是一个初学者的问题我很抱歉,因为这是我第一次使用HAML,还不太习惯。
所以这是我在HAML中的代码:
%td= number_to_percentage(thera.group_dispense_rate, precision: 0)
thera.group_dispense_rate
为空,那么将使用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)
*(OR operator) = 布尔运算符 OR,感谢 @meagar
.present?
和> 0
。第一个选项仅适用于nil
和false
,而不适用于空值/零。 - MrYoshiji