2012-01-18 17 views
0

私は、ユーザーがRails Carrierwaveを使用してPDFドキュメントをアップロードできるようにするアプリを持っています。 cap:deployを使用してデプロイすると、本番サーバーのuploadsディレクトリは新しいバージョンに移動されません。どのように含めることができますか?Git。ユーザーがアップロードしたファイルを移動するには?

答えて

4

ファイルを移動しないでください。代わりに、展開の間に存続するsharedディレクトリへのシンボリックリンクを作成します。

代表的な例として、shared/uploadsディレクトリがあり、それぞれの展開後にpublic/uploadsにシンボリックリンクされています。デプロイ時に競合を避けるため、.gitignoreには無視されるようにpublic/uploadsを設定することを忘れないでください。シンボリックリンクを作成する前に、ディレクトリrm -rfを置くこともできます。

シンボリックリンクの操作は、おおよそ次のようになります。

run "ln -s #{shared_path}/uploads #{release_path}/public/uploads" 

あなたはそのための個別のタスクを追加したり、ちょうど右の点で、既存の1に追加しことができます。

+0

良い解決策:) – d11wtq

+0

お金の上に右! –

関連する問題