2012-04-21 39 views
0

好吧,我再次卡住了。而這一次,也許是因爲我正在使用一種工具,而這種工具並沒有被設計出來。使用圖像ID的Rails回形針圖片網址?

我使用回形針作爲圖像附件,我將這些圖像保存爲模型的實例,您猜對了,圖像。圖像屬於用戶。用戶有很多圖像。

但是,我想指定一個用戶的圖像作爲其默認圖像。所以,我的大腦告訴我,我需要添加一個字段到用戶表中,以保存我想成爲默認圖像的ID。

圖片使用has_attached_file。我不希望用戶擁有自己的附加文件,我只希望用戶模型能夠引用具有可用的url helper方法的圖像的特定實例。

當我嘗試使用該ID獲取此圖像的URL時,問題就出現了。無論是我試圖做的事情都不可能使用回形針,或者我沒有正確設置我的關聯。

基本上我希望能夠使用用戶模型的實例在視圖中訪問該圖像。所以:

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

但這不起作用。我知道爲什麼它不工作,但我不明白如何讓

@user.image 

是附加了檢索網址的方法的神奇回形針對象的實例。

基本上,如果我知道如何使用圖像ID獲得回形針圖像的URL,我會是金。任何線索?

回答

0

我想你可以從圖像對象中獲取回形針圖像URL?

如果是這樣,將它添加到你的用戶模式:

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

如果你現在保存在用戶模式「圖像」列中的默認圖片的ID和圖像在「URL網址「在圖像模型列,你應該能夠做到這一點:

@user.image_url 

,應返回您的網址‘默認’的形象

+0

當我看了你的帖子,我很喜歡」哇靠這是天才!!!「。不幸的是, ou無法獲得像這樣的回形針圖片網址。試圖使用@ user.image_url告訴我,圖像對象沒有「url」方法 – 2012-04-22 00:15:15

+0

如何從常規圖像對象獲取回形針url? – klump 2012-04-22 00:16:01

+0

那麼考慮用戶有很多圖片。如果我循環播放用戶的圖片,我可以獲得網址。 @ user.images.each do | i | ...然後i.url很好。不知道有什麼區別 – 2012-04-22 00:20:10