我必须在.erb模板中放一些东西,该模板使用条件运算符。
在下面的代码中,您可以看到我正在检查条件值,如果不为零,则打印相同的值。
<%= (@variable.value.nil?) ? "-" : @variable.value %>
我想应该有一个更短的方法来做到这一点。两次写相同的东西看起来很丑。
答案 0 :(得分:6)
使用Ruby on Rails时,可以使用presence
帮助方法,该方法仅在存在self时返回self
:
<%= @variable.value.presence || "-" %>
与您的版本presence
相比,还可以处理@variable.value
返回空字符串的情况。
答案 1 :(得分:2)
您可以像下面一样简单地使用||
运算符。
<%= @variable.value || "-" %>
答案 2 :(得分:1)
尝试(OR)运算符。
<%= @variable.value || "-" %>
OR
<%= @variable.value || #{any_variable_you_want_to_display_that_surely_contains_value} %>