2011-12-20 8 views
9

静的資産(jpg、css、& jsではありません)私はユーザーに提供する必要があります。彼らはめったに変化しない。私はパブリックフォルダに格納する前に、しかし、レール3.1にアセットパイプラインを導入して、今のようなファイルを保存するのに最適な場所は何ですか?静的資産(ファイル)をrails 3.1(pdf形式、xlsファイルなど)に保存するのに最適な場所

おかげ

答えて

9

実際、私はapp/assets/files内にフォルダを作成し、そこにxlsファイルを貼り付け、rakeアセットをテストしました。つまり、プリコンパイルタスクがそれを選択しただけです。

また、これはRailsのため< 3.1を追加する必要があります

# Enable the asset pipeline 
config.assets.enabled = true 
config.assets.paths << "#{Rails.root}/app/assets/files" 
+0

これに1つの問題があります。ファイルはデプロイ時に追加する必要があります。プリコンパイルする場合(パフォーマンス上の理由から)、プロダクションで追加することはできません(つまり、ユーザーがアップロードします)。 –

+2

これは問題ありません。これらは私のjsやcssファイルと同じ意味のアセットファイルです。これらは、ユーザーに提供するフォーム/パンフレットです。最初のデプロイメント後は、cssやjsのように変更されることはめったにありません。ユーザーがアップロードしたコンテンツには、異なるワークフローがあります。 – konung

7

このような項目のための最高の場所は/publicディレクトリにまだある、あなたのWebサーバが直接また、これらの資産を提供していことを忘れないでください。

アセットディレクトリは、アセットパイプラインを利用する場合にのみ必要です。アセットパイプラインは、.coffee.lessまたはsassのファイルを圧縮してコンパイルしてjsとcssを1つのファイルに圧縮し、Webサーバーがそれぞれ1つのファイルしか提供しないようにします。

レーキタスクbundle exec rake assets:precompileで資産をコンパイルすると、それらはパブリックディレクトリに移動されます。

+0

ヨセフを、私は実際にパイプラインを使用しています。それを国民に押しつけることは一貫していないようです。私のアプリからスタティックアセットをイメージやscssアセットに似たものにするにはどうすればいいですか? – konung

関連する問題