【发布时间】:2019-10-19 23:15:26
【问题描述】:
我有一个 Haml 行,我想编辑以添加一个条件,即如果仅在 not_done_task 上存在,如下所示:
从此(此行是正确的):
= link_to "#{not_done_task.count == 0 ? "No" : not_done_task.count} Tasks To Do"
至此(此行写不正确):
= link_to "#{not_done_task.count == 0 ? "No task", not_done_task.count == 1 ? "1 Task", not_done_task.count > 1 ? "not_done_task.count Tasks"} to do"
我希望link_to 部分能够识别三种不同的情况:
(if count == 0, if count == 1 ans if count > 1)
但我的合成器不正确。
【问题讨论】:
-
我建议不要使用基于
?:的逻辑和语法。取而代之的是,保持代码简洁明了,稍微冗长一些,并在 Haml 中使用常规的if/then/else。一般来说,我们不赞成在 Ruby 中使用?:语法,因为不清楚发生了什么。某些事情的逻辑很容易丢失,从而很容易出现错误和错误。
标签: ruby hyperlink conditional-statements haml conditional-operator