はじめに
今僕はある会社でインターンシップとして参加していますが、そこである管理ページにcarrierwaveを使って画像投稿機能を追加するというものを実装しました。
困ったこと
gemで簡単にインストールは出来て、画像の新規登録は問題無く出来ました。しかし、編集機能の際に画像を改めて指定しないとアップロードした画像のパスが無くなってしまうという問題がおきました。
いろんなサイトでは、以下の記述をすることで元あった画像のキャッシュを渡してくれるみたいなのですが、上手くいきませんでした。
<%= f.hidden_field :image_cache %>
解決案
結局以下のように条件分岐するのが早い方法みたいです。
projects_controller.rb
@project = Project.find(params[:id])
if (@project.image.blank?)then
# imageが空だったら何もしない
else
@project.image.cache!
end