2012-04-21 2 views
0

글쎄, 다시 붙어있어. 그리고 이번에는 도구가 아닌 도구를 사용하기 때문일 수도 있습니다.레일 이미지 클립을 사용하는 클립 이미지 URL?

이미지 첨부 용으로 Paperclip을 사용하고 있습니다. 이러한 이미지를 이미지의 모델명으로 저장하고 있습니다. Image라고 추측합니다. 이미지는 사용자에게 속합니다. 사용자는 많은 이미지를 가지고 있습니다.

그러나 사용자 이미지 중 하나를 기본 이미지로 지정하려고합니다. 그래서, 내 두뇌는 기본으로하고 싶은 이미지의 ID를 저장하기 위해 User 테이블에 필드를 추가해야한다고 알려줍니다.

이미지는 has_attached_file을 사용합니다. 나는 사용자가 자신의 첨부 파일을 가지기를 바라지 않는다. 사용자 모델이 url 도우미 메서드를 사용할 수있는 이미지의 특정 인스턴스를 참조 할 수있게하려는 것이다.

ID를 사용하여이 이미지의 URL을 가져 오려고 할 때 문제가 발생합니다. 제가하려는 것은 클립 클립을 사용하는 것이 불가능하거나, 제 연관이 올바르게 설정되어 있지 않습니다.

기본적으로 사용자 모델의 인스턴스를 사용하여보기에서 해당 이미지에 액세스 할 수 있기를 원합니다. 따라서 :

<%= image_tag @user.image.url %> 

그러나 이것은 작동하지 않습니다. 그것이 작동하지 않는 이유를 얻을,하지만 난

@user.image 

이 URL을 검색 할에 부착 된 방법이있는 마법의 클립 객체의 인스턴스가 될 수 있도록하는 방법을 이해하지 않습니다.

기본적으로 이미지 ID를 사용하여 클립 클립 이미지의 URL을 얻는 방법을 알고 있다면 나는 황금색이 될 것입니다. 모든 단서?

답변

0

이미지 개체에서 클립 이미지 URL을 얻을 수 있다고 생각합니까?

그렇다면, 사용자 모델이 추가

def image_url 
    Image.find(self.image).url 
end 

이제 사용자 모델 "이미지"열에 저장되어있는 기본 사진의 ID와 "URL에서 이미지의 URL이있는 경우 "이미지 모델의 열, 당신이 할 수 있어야 :

@user.image_url 

을 그리고 이것은 당신의 URL을 반환해야"기본 그것의 거룩한 쓰레기 "이미지 난 당신의 게시물을 읽을

+0

, 나는 같았다" 천재 !!! ".. 불행히도, y 이렇게 클립 클립 이미지 URL을 가져올 수 없습니다. @ user.image_url을 사용하면 이미지 객체에 대한 "url"메서드가 없음을 알 수 있습니다. –

+0

일반 이미지 객체에서 paperclip URL을 어떻게 가져 옵니까? – klump

+0

사용자가 많은 이미지를 가지고 있다고 생각하십시오. 사용자의 이미지를 반복하면 URL을 얻을 수 있습니다. @ user.images.each do | i | ... 그럼 i.url은 훌륭하게 작동합니다. 어떻게 차이가 있는지 확실하지 않다 –

관련 문제