2011-01-21 16 views
0

私は、ユーザーがアップロードした画像を保存する多形アタッチメントモデルを用意しています。ユーザーはプロフィール写真として自分自身を設定できます。Ruby on Rails and Paperclip

これまで、私は基本的に添付ファイルのIDを保存して参照を作成するために、ユーザーデータベースに「avatar_id」列を作成しました。私はまた、Userモデルにアバターのアクションを追加しました:

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

を問題は、私はこの仕事をするために

<%= @user.avatar.url %> 

をしようとした場合、URLの方法が存在しないため、それが動作しないということです。私はそれがペーパークリップオブジェクトであることを指定する必要がありますが、私はどこでどのようにしなければならないのか分かりません。私はおそらくここに明らかに何かが不足しているでしょう。多分attachment_file_nameattachment_content_sizeなど

あなたが@user.avatarを参照するときに、あなたは本当にただ全体Attachment記録ではなく、クリップ固有の列を参照している:

答えて

2

あなたAttachmentモデルは、添付ファイルフィールドのセットを持っている必要があります。

はあなたのクリップの列と呼ばれるものは何でもするために、「添付ファイル」を代入し、これを試してみてください:

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

私は今それを得た、ありがとうございます! – Martin