我嘗試瞭解關聯的行爲,但我做錯了什麼。Rails 3 - 關聯 - 它是如何工作的?
我有這兩種模式:
class Album < ActiveRecord::Base
has_many :photos
end
class Photo < ActiveRecord::Base
belongs_to :album
end
這意味着一張專輯可以有很多照片和每張照片都屬於一個專輯。現在
,如果我在視圖中有這樣的代碼(假設我已經在控制器中,這是專輯的ID號設置@album = 106
):
@album.photos.each_with_index do |pic, index|
...
end
我得到了錯誤:ActionView::Template::Error (undefined method 'photos' for 106:Fixnum):
爲什麼我會收到此錯誤訊息?我想我必須設置@album
專輯的變量ID,然後循環將搜索表Photos
中的照片album_id
(album_id = 106)。
我在做什麼仍然錯?
使用部分呈現每張照片都是首選,因爲這會將視圖的「構建塊」分開。渲染@ album.photos會爲相冊中的每張照片渲染一次'photos/_photo.html.erb'視圖。 –