mysqlで画像を保存する時の「ActionDispatch::Http::UploadedFile」エラー

めちゃくちゃしょうもないことで躓いていたので、二度と繰り返さないようにメモ。

前からmysqlにうまく画像が格納されなくて、内心気づいていたんだけど、まぁ大した問題じゃなかったんで後回しに。
とはいえ、直さないといけないタイミングはあるわけで、重い腰をあげて直したわけです。

ちょっと調べると、「求められてる画像形式じゃないから、binary与えて格納してね〜」みたいな話が多くて、「めんどくせぇな」って思ってました。
http://qiita.com/selmertsx/items/2beb0d7ec0774cbbf050

でも、僕のやつはそんな話じゃなくて、ただ「Paperclipを導入したことを忘れていた」だけでした。笑
deviseで設定したユーザーのmodelは問題なく設定してたんだけど、それ以外のmodelで設定するの忘れてました。
(マジで間抜け)

でも、初心者の人で色々ググってる同じような人もいるかもしれないので、一応共有しときます。笑

modelを作るときに「paperclipを使いまっせ〜」と宣言してあげないといけません。

なので、一度dbの画像を格納するカラムを削除してからmodelを作り直します。
$rails g paperclip xxx(model名)

それが終わったら、普通にマイグレーション。
$ rake db:migrate

ハイ終了。
次回からの画像アップロードで、ちゃんと格納されるようになります。

本当にしょうもなかった…
そのくせにめっちゃ調べてもうた…

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください