我有一些代码:
<%= name ? name : 'no name' %>
因此它会打印名称,如果没有名称,则会打印“ no name”。 由于我仍然必须写两次变量名,所以我想知道是否还有更短的方法?
如果变量,则打印它,否则打印其他内容。
答案 0 :(得分:3)
是的,有。试试这个
<%= name.presence || 'no name' %>
如果name
为空,则该表达式的值为'no name'
,否则为name
的值。
请注意,presence
是rails方法。
正如某人指出的那样,如果仅在'no name'
为name
(或nil
,即使可能不是这种情况)下打印false
,就足够了
<%= name || 'no name' %>
否则,即使'no name'
是空白字符串,如果您也想打印name
,我的原始答案就可以解决问题