我有一个多态附件模型来保存用户上传的图像。用户可以将自己的任何一个设置为个人资料照片。
为此,我在User数据库中创建了一个“avatar_id”列,基本上保存了附件ID以创建引用。我还在User模型中添加了一个头像动作:
def avatar
self.attachments.first(:conditions => ['id = ?', self.avatar_id])
end
问题在于,如果我尝试做这项工作
<%= @user.avatar.url %>
它不起作用,因为url方法不存在。我需要指定这是一个回形针对象,但我不知道应该在哪里以及如何做到这一点。我可能在这里明显遗漏了一些东西。
答案 0 :(得分:2)
您的Attachment
模型应该有一组附件字段:可能attachment_file_name
,attachment_content_size
等。
因此,当您引用@user.avatar
时,您实际上只是引用整个Attachment
记录,而不是特定于回形针的列。
试试这个,用“附件”代替你所谓的回形针列:
<%= @user.avatar.attachment.url %>