我有一个带有一些视图的rails应用程序,如果视图是数组不包含任何数据,我想显示不同的东西。目前我的观点是这样的:
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
但如果@trips
内没有任何内容,我是否可以展示一些不同的文字?
答案 0 :(得分:7)
如果你使用partials:
<强>跳闸/ _trip.html 强>
<p><%= trip.id %> | <%= trip.name %></p>
您的观点
<%= render @trips || 'No trip' %>
答案 1 :(得分:1)
当然,只需使用if,就像这样
<% if @trips.blank? %>
<p>No trips</p>
<% else %>
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
<% end %>
答案 2 :(得分: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 ?,如果你决定使用另一个ruby框架或项目,那么你可以使用上面的if / else代码来检查数组是空还是空
答案 3 :(得分: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 %>