我只是想确保某个块中存在一个值并显示它的内容(如果有),如果没有显示“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
我在这里不理解什么?有了上述内容,我希望在索引页面上显示一个配置文件,如果它有一个视频,如果没有,它就不会显示任何内容。
答案 0 :(得分:3)
您要检查并确保profile.listings不为空或空。如果在空数组上调用last
方法,则返回nil。
<% if profile.listings %>
也会返回true
。
<% if !profile.listings.blank? %>
或<% unless profile.listings.blank? %>
可以解决问题。