2013-10-29 24 views
0

我試圖讓我的縮圖視圖顯示來自集合模型的所有關聯照片。顯示來自關聯模型的圖像

我的示例縮圖有兩張照片,但以下代碼給出了一個錯誤「undefined method` photo for for#」。

<% @miniature.collections(:photo).each do |photo| %> 
    <%= image_tag @miniature.collections.photo.url(:medium) %> 
<% end %> 

我認爲關係是正確的,但因爲軌道控制檯正常工作與他們和下面的代碼顯示第一個圖像,兩次。

<% @miniature.collections(:photo).each do |photo| %> 
    <%= image_tag @miniature.collections.first.photo.url(:medium) %> 
    <% end %> 

同樣,我可以先換出第一張,然後顯示第二張圖片兩次。我究竟做錯了什麼?

回答

1

不知道關於您的關聯的大量數據,我相對確定要使用在each循環中實例化的實例變量。這看起來就像東西的效果:

<% @miniature.collections(:photo).each do |collection| %> 
    <% if !collection.photo.url(:medium).nil? %> 
    <%= image_tag collection.photo.url(:medium) %> 
    <% end %> 
<% end %> 

使用@miniature.collections.first.photo.url(:medium)將集合中每張照片顯示一次採集的第一張圖像。可能這不是你想要的。

+0

聽起來不錯,但它說未定義的方法'網址'。收藏belongs_to微型和微型has_many:收藏。 – Ossie

+1

啊,也許我誤解了你的問題。嘗試改變我在編輯中的內容。 – kddeisz

+0

啊哈!是!我知道了。這是重複的東西,而不是照片。我們收集並使用它來展示每張照片?輝煌。 – Ossie