Rails单行if else语句

时间:2014-03-26 15:08:17

标签: ruby-on-rails ruby-on-rails-4

我试图在视图中写一条if if语句。

<%= collection.name ? collection.name : @miniature.name %>

如果存在,我希望它放置collection.name,否则我希望它放入@minile.name

3 个答案:

答案 0 :(得分:25)

首先检查是否存在collection.name

<%= collection.name.present? ? collection.name : @miniature.name %>

答案 1 :(得分:23)

为了更清楚,您可以使用逻辑ORActiveSupport's Object#presence(只有在collection.name存在并且不是空白时才会使用<%= collection.name.presence || @miniature.name %> ):

collection.name

如果您想显示nil,如果它不是<%= collection.name || @miniature.name %> ,但它是空白的(空字符串或仅包含空格的字符串),则只需:

{{1}}

答案 2 :(得分:0)

你没有

<%= collection.name ||= @minature.name %>

对于那些被投票的人 - Set Ruby variable if it is not already defined