Paperclipの画像を扱うクラスをimageにしたらハマった
公式はavatarというクラス名でUsageを解説しているけど、
自分の場合は、avararという名前よりもimageという名前の方がしっくりしたのでimageモデルに画像を持たせることにした。
アップロードをすることができたのだけど、urlメソッドが見つからない。なので画像が表示されない。
Image.find(1).url => NoMethodError: undefined method `url'
urlメソッドは、ファイルパスを返すので以下のように使うはずだった。
Image_tag image.url
よく見ると、urlメソッドを送っているレシーバーは、ActiveRecordのImageインスタンスだった。
urlメソッドが持っているオブジェクトは、Imageインスタンスのimageメソッドが返すPaperclip::Attachmentインスタンスという。
ややこしい。