3

いくつかのビューを備えたRailsアプリがありますが、ビューが配列にデータが含まれていない場合は、別の何かを表示したいと思います。現時点では、私の見解は次のようになっています。

<% @trips.each do |trip| %>
  <p><%= trip.id %> | <%= trip.name %></p>
<% end %>

しかし、これに何も入っていない場合に、いくつかの異なるテキストを表示する方法はあります@tripsか?

4

4 に答える 4

7

パーシャルを使用する場合:

trips/_trip.html

<p><%= trip.id %> | <%= trip.name %></p>

あなたの見解

<%= render @trips || 'No trip' %>
于 2013-01-04T18:11:14.460 に答える
1

確かに、このように、そこにある場合は使用してください

<% if @trips.blank? %>
  <p>No trips</p>
<% else %>
  <% @trips.each do |trip| %>
    <p><%= trip.id %> | <%= trip.name %></p>
  <% end %>
<% end %>
于 2013-01-04T18:05:52.127 に答える
1

ifステートメントを使用して、このようにnullまたは空かどうかを確認します

<% if @trips.nil? || @trips.empty? %>
  <p>There are no trips</p>
<% else %>
  <% @trips.each do |trip| %>
    <p><%= trip.id %> | <%= trip.name %></p>
  <% end %>
<% end %>

編集

Railsを使用する場合は、おそらく@ trips.blank?を使用します。別のルビーフレームワークまたはプロジェクトを決定する場合は、上記のif / elseコードを使用して、配列がnullまたは空かどうかを確認できます。

于 2013-01-04T18:14:02.017 に答える
1

if/else条件付きチェックを使用できます。

<% if (@trips != nil) then %>
  <p><%= trip.id %> | <%= trip.name %></p>
<% else %>
  <p>Some message</p>
<% end %>

また

<% if (@trips.blank?) then %>
  <p>Some message</p>
<% else %>
  <p><%= trip.id %> | <%= trip.name %></p>
<% end %>
于 2013-01-04T18:20:45.920 に答える