【发布时间】:2013-07-04 17:20:11
【问题描述】:
我只是想确保某个值存在于某个块中,如果存在则显示其内容,如果不显示“尚无此内容”。我研究了otherSO posts,但我的实现必须关闭。
<% @profiles.each do |profile| %>
<%= profile.current_club %>
<% if profile.listings %>
<%= video_thumb_embed(profile.listings.last.video).html_safe %>
<% end %>
<% end %>
- 视频是列表模型的一个属性。
- 我正在尝试在索引页面上显示所有用户配置文件,并在此索引页面上显示他们添加的最新视频。
-
如果用户没有添加列表,则会出错,因此我在每个块中添加了我认为是简单检查的内容,但出现以下错误
nil:NilClass 的未定义方法 `video'
我在这里不明白什么?有了上面的内容,我希望一个配置文件会在索引页面上显示一个视频,如果有的话,如果没有,它不会显示任何内容。
【问题讨论】:
-
您的错误表明
profile.listings.last为零。尝试输出profile.listings以确保您有一个列表数组。 -
我可以确认输出
profile.listings会给出[]。好的,所以如果用户尚未添加列表,则数组将为空。这是否意味着我将只检查数组是否有任何元素并且我的检查会按预期工作? -
是的,您只需将
if profile.listings更改为if !profile.listings.blank?
标签: ruby-on-rails view null