blog.takuyan.com

Ruby & Javascript & Hack

paperclipを使いつつcapistranoでdeployする方法


thoughtbot/paperclip · GitHub


paperclipは初心者のためのRailsのプラグインまとめ - 常識という迷信でも書いたとおり、
Railsでとっても手軽に画像を扱う(アップロードしたり、いろいろ)ことができるプラグインです。


アップロードしたファイルの保存先は、デフォルトではrails_root/public/systemに保存されるのですが、
capistranoを使うとdeployするごとに画像へのパスが変更になって、えらく面倒です。


なので、rails_root/shared/以下に画像を配置し、rails_root/public以下にはシンボリックリンクを置くことにしましょう。

cd myapp
mv current/public/system shared
ln -s shared/system current/public/system


これでcap deployのたびに画像がなくなってしまう、なんてことにはならないはず。
他にもっと便利で怠惰な方法があったら教えてくださいえらい人。