Ruby on rails 使用Rails中的视图检查数组
我有一个带有一些视图的rails应用程序,如果该视图不包含任何数据,我想显示一些不同的内容。目前我的观点如下:Ruby on rails 使用Rails中的视图检查数组,ruby-on-rails,ruby,arrays,views,Ruby On Rails,Ruby,Arrays,Views,我有一个带有一些视图的rails应用程序,如果该视图不包含任何数据,我想显示一些不同的内容。目前我的观点如下: <% @trips.each do |trip| %> <p><%= trip.id %> | <%= trip.name %></p> <% end %> | 但是,如果在@trips中没有任何内容,是否有一种方法可以显示一些不同的文本 当然,只要使用if,就像这样 <% if @trips.bl
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
|
但是,如果在
@trips
中没有任何内容,是否有一种方法可以显示一些不同的文本 当然,只要使用if,就像这样
<% if @trips.blank? %>
<p>No trips</p>
<% else %>
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
<% end %>
<% if @trips.nil? || @trips.empty? %>
<p>There are no trips</p>
<% else %>
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
<% end %>
禁止旅行
|
如果使用partials:
trips/\u trip.html
<p><%= trip.id %> | <%= trip.name %></p>
|
你的观点
<%= render @trips || 'No trip' %>
使用if语句并检查它是否为null或空,如下所示
<% if @trips.blank? %>
<p>No trips</p>
<% else %>
<% @trips.each do |trip| %>
<p><%= trip.id %> | <%= trip.name %></p>
<% end %>
<% end %>
<% 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代码检查数组是否为null或空您可以使用If/else条件检查:
<% if (@trips != nil) then %>
<p><%= trip.id %> | <%= trip.name %></p>
<% else %>
<p>Some message</p>
<% end %>
|
一些信息
或
一些信息
|
@trips.nil?|@trips.empty?
可以写@trips.blank?
,就像在Ewinnnn的回答中一样非常正确,我在发布我的回答后才看到他的回答,我会编辑感谢JW8,哪一个更适合在什么时候使用?感谢您花时间回复@davessh,它们是相等的-空白?更简洁一点,使用Ruby习惯用法,而第一种方法是其他语言中的类似检查。