0

好吧,我又被困住了。而这一次,也许是因为我使用的工具不是为它设计的。

我将 Paperclip 用于图像附件,并将这些图像保存为模型的实例,您猜对了,Image。图片属于用户。用户有很多图像。

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

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

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

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

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

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

@user.image

是一个神奇的回形针对象的实例,该对象附加了用于检索 url 的方法。

基本上,如果我知道如何使用图像 ID 获取回形针图像的 URL,我会很高兴。有什么线索吗?

4

1 回答 1

0

我想您可以从图像对象中获取回形针图像 URL?

如果是这样,请将其添加到您的用户模型中:

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

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

@user.image_url

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

于 2012-04-22T00:02:04.257 回答