2013-10-29 4 views
0

축소 모형 뷰를 가져 와서 컬렉션 모델의 모든 관련 사진을 표시하려고합니다.관련 모델의 이미지 표시

샘플 미니 사진에는 두 장의 사진이 있지만 다음 코드는 "정의되지 않은 메소드`photo '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.first.photo.url(:medium)를 사용

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

. 아마도 이것은 당신이 원하는 것이 아닙니다.

+0

소리가 크지 만 정의되지 않은 메서드 인 'url'이 있습니다. 컬렉션 belongs_to 미니어처 및 미니어처 has_many : 컬렉션. – Ossie

+1

아, 아마도 당신의 질문을 오해했습니다. 대신 내가 편집 내용을 입력 해보십시오. – kddeisz

+0

아하하! 예! 알 겠어. 그것은 사진이 아닌 반복되는 것입니다. 우리는 컬렉션을 인스턴스화하여 각 사진을 보여줄 수 있습니까? 훌륭한. – Ossie

관련 문제