railsのcarrierwave利用で、post編集時に投稿済画像を削除される問題を修正
railsのgemの、carrierwaveを使用して、画像アップロード機能を実装しました。
が、postの編集時に、画像を再度参照しないと、
投稿済の画像が削除されてしまう問題に遭遇。
同様の問題がstackoverflowにて記事になっていました。
記事
http://stackoverflow.com/questions/17576309/rails-carrierwave-edit-update-form
この記事の回答の通りに、
posts_controller.rbのeditメソッドを以下のように修正したところ、うまくいきました。
------------------------------------------------
def edit
@post = Post.find(params[:id])
if (@post.image.blank?) then
# 画像がないときは何もしない。
else
# 画像があるときは、これで大丈夫。
@post.image.cache!
end
end
-------------------------------------------------
一件落着。
あとはユーザによるログイン機能を追加します。