我有3个具有以下结构的模型:
应用程序和照片belongs_to列表。列出了很多照片和应用程序。
class Listing < ActiveRecord::Base
belongs_to :user
has_many :photos
has_many :applications
end
class Application < ActiveRecord::Base
belongs_to :user
belongs_to :listing
end
class Photo < ActiveRecord::Base
belongs_to :listing
end
我正在尝试获取与用户应用程序关联的列表的照片。
我通过传递当前用户的所有应用程序来启动控制器:
@apps = current_user.applications
在视图中,我想显示所有照片:
<% @apps.each do |app| %>
<%= image_tag app.listing.photos[0].image.url(:thumb) if app.listing.photos.length > 0 %>
<% end %>
但是在尝试渲染视图时出现此错误:
未定义的方法`照片'为nil:NilClass
我无法使用以下语法访问属于该应用程序列表的照片 - app.listing.photos [0] .image.url?
答案 0 :(得分:1)
您的某些应用程序是否可能与任何商家信息无关?如果是这样的话:
<% @apps.each do |app| %>
<%= image_tag app.listing.photos[0].image.url(:thumb) if app.listing.try(:photos).present? %>
<% end %>