2016-03-26 14 views
1

我有3種型號,下面的結構得到的值。列出has_many照片和應用程序。如何從引用臺導軌

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 %> 

,但我得到這個嘗試渲染視圖時出錯:

未定義的方法'照片'爲零:NilClass

無法使用此語法訪問屬於應用程序列表的照片 - app.listing.photos [0] .image.url?

回答

1

您的某些應用程序是否可能與任何列表無關?如果是這樣的話:

<% @apps.each do |app| %> 
     <%= image_tag app.listing.photos[0].image.url(:thumb) if app.listing.try(:photos).present? %> 
    <% end %> 
+0

感謝您的指出!我忘了我有一堆沒有關聯的數據庫中的舊記錄。 – cremboeye