Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Rails中的视图检查数组_Ruby On Rails_Ruby_Arrays_Views - Fatal编程技术网

Ruby on 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

我有一个带有一些视图的rails应用程序,如果该视图不包含任何数据,我想显示一些不同的内容。目前我的观点如下:

<% @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习惯用法,而第一种方法是其他语言中的类似检查。