2013-11-20 31 views
2

这是真的开始寻找重复和笨重的,当我做这样的事情:x.present的更短路吗? ? X:

Name: <%= @user.name.present? ? @user.name : "Unknown" %> 

我知道我可以做@user.name || "Unknown"但这并不至于我知道处理空字符串。

有没有更简单的方法?

+0

你可能寻找''.empty但肯定Rails的?增加了一些东西来增强它。 :) – vgoff

+0

仅供参考,只有'nil'和'false'在布尔表达式中被评估为false,即。空字符串是'true'。 –

回答

0

你可以添加一个辅助方法

def view_name(user, default="Unknown") 
    user.name.present? ? @user.name : default 
end 

,使您的观点只是:

Name: <%= view_name(@user) %>