我有一个带有一些视图的 rails 应用程序,如果视图是数组不包含任何数据,我想显示一些不同的东西。目前我的观点是这样的:
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
但是,如果里面没有任何东西,有没有办法可以显示一些不同的文本@trips
?
我有一个带有一些视图的 rails 应用程序,如果视图是数组不包含任何数据,我想显示一些不同的东西。目前我的观点是这样的:
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
但是,如果里面没有任何东西,有没有办法可以显示一些不同的文本@trips
?
如果您使用部分:
行程/_trip.html
<p><%= trip.id %> | <%= trip.name %></p>
你的看法
<%= render @trips || 'No trip' %>
当然,只需使用 if there,就像这样
<% if @trips.blank? %>
<p>No trips</p>
<% else %>
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
<% end %>
使用 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 代码来检查数组是否为空或空
您可以使用 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 %>