(不)在rails中显示可选字段

时间:2014-03-23 15:10:08

标签: ruby-on-rails

(免责声明:我是一个血腥的新秀)

我的模型包含一些可选值。似乎它们可能根本不存在(== nil)或者它们可能存在但是是空的。在这两种情况下,我都不想在我的视图中显示任何内容。目前,我这样做:

<% if @score.lyricist and not @score.lyricist.empty? %>
<p>
  <strong>Lyricist:</strong>
  <%= @score.lyricist %>
</p>
<% end %>

这似乎很尴尬和重复。还有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

blank?方法将检查nil和空值

<% unless @score.lyricist.blank? %>
<p>
  <strong>Lyricist:</strong>
  <%= @score.lyricist %>
</p>
<% end %>

文档here

答案 1 :(得分:1)

present?方法与blank?方法相反。

<% if @score.lyricist.present? %>
<p>
  <strong>Lyricist:</strong>
  <%= @score.lyricist %>
</p>
<% end %>