Rails单行if else语句

Oss*_*sie 16 ruby-on-rails ruby-on-rails-4

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

<%= collection.name ? collection.name : @miniature.name %>
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*pka 26

为了使它更清晰,您可以使用逻辑ORActiveSupport's Object#presence(collection.name仅当它存在且不是空白时才放置):

<%= collection.name.presence || @miniature.name %>
Run Code Online (Sandbox Code Playgroud)

如果你想显示collection.name它不是nil,但是它是空白的(空字符串或只包含空格的字符串),它就足够了:

<%= collection.name || @miniature.name %>
Run Code Online (Sandbox Code Playgroud)


dav*_*son 26

检查是否存在collection.name第一个.

<%= collection.name.present? ? collection.name : @miniature.name %>
Run Code Online (Sandbox Code Playgroud)