使用图像ID的Rails Paperclip图像URL?

时间:2012-04-21 23:51:59

标签: ruby-on-rails paperclip

好吧,我再次陷入困境。而这一次,也许是因为我正在以一种未设计的方式使用工具。

我正在使用Paperclip进行图像附件,我将这些图像保存为模型的实例,你猜对了,Image。图像属于用户。用户有很多图像。

但是,我想将用户的一个图像指定为默认图像。所以,我的大脑告诉我,我需要在User表中添加一个字段来保存我想成为默认图像的ID。

图片使用has_attached_file。我不希望用户拥有自己的附件,我只希望用户模型能够引用具有可用的url帮助方法的图像的特定实例。

当我尝试使用ID获取此图像的URL时出现问题。我正在尝试做的事情是不可能使用回形针,或者我没有正确设置我的关联。

基本上我希望能够使用用户模型的实例访问视图中的该图像。所以:

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

但这不起作用。我明白为什么它不起作用,但我不明白如何制作

@user.image

是一个魔法回形针对象的实例,它附有附加方法以检索网址。

基本上,如果我知道如何使用图像ID获取回形针图像的URL,那我就是金色的。有线索吗?

1 个答案:

答案 0 :(得分:0)

我想你可以从图片对象中获取回形针图片网址吗?

如果有,请将此添加给用户模型:

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

当您现在拥有用户模型“image”列中保存的默认图片的ID以及图像模型中“url”列中图像的url时,您应该能够这样做:

@user.image_url

这应该返回“默认”图片的网址