2012-04-21 75 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