1

我只是试图确保某个值存在于某个块中,如果存在则显示它的内容,如果不显示“尚无此内容”。我研究了其他 SO 帖子,但我的实施必须关闭。

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

    nil:NilClass 的未定义方法“视频”

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

4

1 回答 1

3

您要检查并确保 profile.listings 不是空白或空的。如果last在空数组上调用该方法,它会返回 nil。

<% if profile.listings %>true即使你有一个空数组也会返回。

<% if !profile.listings.blank? %>或者<% unless profile.listings.blank? %>应该做的伎俩。

于 2013-07-07T02:09:19.333 回答