Ruby on Rails和Paperclip

时间:2011-01-21 05:14:55

标签: ruby-on-rails paperclip

我有一个多态附件模型来保存用户上传的图像。用户可以将自己的任何一个设置为个人资料照片。

为此,我在User数据库中创建了一个“avatar_id”列,基本上保存了附件ID以创建引用。我还在User模型中添加了一个头像动作:

def avatar 
  self.attachments.first(:conditions => ['id = ?', self.avatar_id])
end

问题在于,如果我尝试做这项工作

<%= @user.avatar.url %>

它不起作用,因为url方法不存在。我需要指定这是一个回形针对象,但我不知道应该在哪里以及如何做到这一点。我可能在这里明显遗漏了一些东西。

1 个答案:

答案 0 :(得分:2)

您的Attachment模型应该有一组附件字段:可能attachment_file_nameattachment_content_size等。

因此,当您引用@user.avatar时,您实际上只是引用整个Attachment记录,而不是特定于回形针的列。

试试这个,用“附件”代替你所谓的回形针列:

<%= @user.avatar.attachment.url %>