3

我有一个带有一些视图的 rails 应用程序,如果视图是数组不包含任何数据,我想显示一些不同的东西。目前我的观点是这样的:

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

但是,如果里面没有任何东西,有没有办法可以显示一些不同的文本@trips

4

4 回答 4

7

如果您使用部分:

行程/_trip.html

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

你的看法

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

当然,只需使用 if there,就像这样

<% 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 语句并像这样检查它是否为空或空

<% 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?,如果您决定使用另一个 ruby​​ 框架或项目,那么您可以使用上面的 if/else 代码来检查数组是否为空或空

于 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 回答