3

私はこのコードを持っています:

<div class="alert alert-success">
  <a href="#" class="alert-link"><%= notice %></a>
</div>

noticenil でない場合にのみ div 全体を表示するには、その周りに if ステートメントを配置する必要があります。いくつかの方法を試しましたが、正しい構文を取得できません。

4

2 に答える 2

8

Rubyのクラスのnil?メソッドを使用する必要がありますObject

<% unless notice.nil? %>
  <div class="alert alert-success">
    <a href="#" class="alert-link"><%= notice %></a>
  </div>
<% end %>

上記のコードは、notice が nil でない場合、div 全体を表示します。

​​の違いを読むこともお勧めしますnilblank?present

于 2013-08-30T09:44:43.123 に答える
2

指定されたすべてのアンサーは正しいですが、レールの存在チェックを使用してこれを好みます。

<% if notice.present? %>
  <div class="alert alert-success">
    <a href="#" class="alert-link"><%= notice %></a>
  </div>
<% end %>

これは詳細ですが、空の文字列 (または将来複数の通知を使用する可能性がある場合は空の配列) を使用すると、この条件が false と正しく評価されるため、より堅牢です。

そして、それは完璧に読みますね:)

于 2013-08-30T09:49:33.430 に答える