ruby-on-rails - 在 Rails 的 HAML 中编写 if-else

标签 ruby-on-rails ruby-on-rails-3.2 haml

对不起,如果这是一个初学者问题,我只是第一天使用 HAML,但仍然不习惯。

所以我的 HAML 中有这个:

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

我想更新它以说明如果 thera.group_dispense_ratenil 然后改用 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" 

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


更长的版本,用于 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/

相关文章:

ruby-on-rails - 提供符号而不是字符串时,包含验证失败

ruby-on-rails - 覆盖设计创建 Controller Action

ruby-on-rails - 如何通过 Rails 模型将值设置为 null?

mysql - 可以向可链接查询添加选项吗?

javascript - Rails 3、Haml、Javascript - 如何将 javascript 的变量放入部分

ruby-on-rails - 为什么我得到 PostsController 的未定义方法 `action'(表不存在)?

javascript - 轮播内幻灯片的延迟加载内容(内容是 oEmbeds/iframes)

ruby-on-rails - 多项选择问答游戏的数据库模式

ruby-on-rails - 微数据:如何与模板/部分一起使用?

javascript - 如何在 js.haml 文件中写入外部 .js 文件的内容 (Ruby on Rails)