2016-10-03 7 views
2

レールアプリにプリコンパイルされていない公共資産を格納する標準的な場所は "public/system"です。これには何らかの理由がありますか?物事をシンプルにしたいのですが、私は単に "public"フォルダにアセットを置くべきではないのですか?"public/system /"の "system"フォルダの目的は何ですか?

+1

一般的には、あなたのサブフォルダの名前はあなたの好きなものにすることができます。また、トップレベルのフォルダにたくさんのファイルを置くのではなく、組織のレベルを提供します –

答えて

4

public/systemフォルダは、それ自体がRails標準ではなく、文書化された推薦さえありません。 Capistranoのようなデプロイメントツールは、デプロイメント間で共有され、リポジトリに存在してはならないユーザーアセットを整理するための提案として、このコンベンションを採用しました。このアイデアは、リリースフォルダの外にある、shared/systemというカプリストラノのsymlink public/systemです。あなたは(広く使わアップロードライブラリがある)paperclip'sのドキュメントを見てみる場合は

あなたは見つけることができます:デフォルトでは

、この場所は です:RAILS_ROOT /公共/システム/:クラス/:添付ファイル/:id_partition /:スタイル/:ファイル名。この場所は、標準のCapistranoデプロイメントでは、 のpublic/systemディレクトリを、アプリケーションの共有 ディレクトリにシンボリックリンクすることができます。つまり、デプロイ間に存続するためです。

あなたの開発環境では、そのコンベンションを採用したい場合は、そのフォルダを.gitignoreで無視することになっています。

+0

パーフェクト、おかげで、アプリはPaperclipとCapistranoを使用しています。 –

+0

ようこそ。 –

関連する問題