对nil rails视图感到困惑

时间:2013-07-07 01:57:23

标签: ruby-on-rails view null

我只是想确保某个块中存在一个值并显示它的内容(如果有),如果没有显示“Nothing for this yet”。我研究了other SO posts但我的实施必须关闭。

<% @profiles.each do |profile| %>
  <%= profile.current_club %>
  <% if profile.listings %>
    <%= video_thumb_embed(profile.listings.last.video).html_safe %>
  <% end %>  
<% end %>
  • 视频是列表模型的属性。
  • 我正在尝试在索引页面上显示所有用户个人资料,并显示他们在此索引页面上添加的最新视频。
  • 如果用户没有添加列表,则会出错,所以我添加了我认为在每个块中进行简单检查的内容,但是出现以下错误

    nil的未定义方法`video':NilClass

我在这里不理解什么?有了上述内容,我希望在索引页面上显示一个配置文件,如果它有一个视频,如果没有,它就不会显示任何内容。

1 个答案:

答案 0 :(得分:3)

您要检查并确保profile.listings不为空或空。如果在空数组上调用last方法,则返回nil。

即使您有一个空数组,

<% if profile.listings %>也会返回true

<% if !profile.listings.blank? %><% unless profile.listings.blank? %>可以解决问题。

相关问题