首页 > 解决方案 > 在rails视图模板中编写条件变量的最短方法是什么?

问题描述

我必须在我的 .erb 模板中放一些东西,它使用条件运算符。

在下面的代码中,您可以看到我正在检查条件值并打印相同的值,如果它不为零。

<%= (@variable.value.nil?) ? "-" : @variable.value %>

我想应该有更短的方法来做到这一点。因为把同样的东西写两次真的很丑。

标签: ruby-on-railsrubyperformancedryconditional-operator

解决方案


当您使用 Ruby on Rails 时,您可以使用仅在 self 存在时presence返回的辅助方法:self

<%= @variable.value.presence || "-" %>

与您的版本相比,presence它还处理@variable.value返回空字符串的情况。


推荐阅读