0 ruby performance ruby-on-rails dry conditional-operator
我必须在使用条件运算符的.erb模板中放一些东西。
在下面的代码中,您可以看到我正在检查条件值,如果不为零,则打印相同的值。
<%= (@variable.value.nil?) ? "-" : @variable.value %>
Run Code Online (Sandbox Code Playgroud)
我想应该有一个更短的方法来做到这一点。两次写相同的东西看起来真的很丑。
当您使用Ruby on Rails时,可以使用仅在self存在时presence返回的helper方法self:
<%= @variable.value.presence || "-" %>
Run Code Online (Sandbox Code Playgroud)
与您的版本相比,presence还可以处理@variable.value返回空字符串的情况。