2012-01-10 8 views
0

私は、Paperclipを使用してRails 3.1アプリケーションのファイルを保存しています。私はビットすべてが公開フォルダに保存されているという事実によって混乱していますが、すべては私がこのような構造持つ..Rails 3.1 Paperclip - アップロードされたファイルのフォルダ構造を整理するより良い方法は?

を正常に動作します:明らかに

class Photo < ActiveRecord::Base 
belongs_to :photoable, :polymorphic => true 
has_attached_file :photo, :styles => { :large => "800x600", :medium => "400x300>", :thumb => "100x100>" }  
end 

class Project < ActiveRecord::Base 
attr_accessible :projectname, :photos_attributes 
has_many :photos, :as => :photoable 
accepts_nested_attributes_for :photos, :allow_destroy => true 
end 

を、また別のモデルが存在することができますhas_many:photos、:as =>:photoable

写真をアップロードすると、Public/system/photos/1(または/ 2など)に保存されます。すべてうまく動作しますが、フォルダ構造が人間が読める形式(ユーザー名、プロジェクト名など)になるように、より良い方法があるかどうか疑問に思っていますか?

また、が、私は、ファイルが資産ではなく、パブリックフォルダに行くべきだと思った

おかげ

答えて

0

でファイルを有することができるスタイルシート、画像やJavaScriptのようなデザイン要素がアプリに配置する必要がありながら、ユーザーによってアップロードされたコンテンツは、/公共/システムフォルダに行くべき資産に対応するフォルダ。あなたは、パスに(ユーザ名など)、デフォルトでサポートされていないいくつかの追加情報をファイルに追加したい場合は、あなたがクリップ補間を見てみる必要があります

https://github.com/thoughtbot/paperclip/wiki/Interpolations

+0

おかげで、それになります。..ですパスを変更するのが良い練習ですか? – Stpn

+0

"public/system"(ペーパークリップのアップロードに推奨される)の後のパスの残りの部分は、あなたが必要とするものであればどれでもかまいません。 –

1

これは何ですか?。パスオプションはhas_atached_fileにするためにあるREADMEの「ストレージ」のセクションをご覧ください: https://github.com/thoughtbot/paperclip

ファイルtha tは添付ファイルとして割り当てられ、デフォルトでは、:pathオプションで指定されたディレクトリが、has_attached_fileに指定されたディレクトリ に配置されます。 デフォルトでは、この場所は です:rails_root/public/system /:attachment /:id /:style /:filename。この ロケーションが選択されました。標準のCapistranoデプロイメントでは、公開ディレクトリ/システムディレクトリ は、アプリケーションの共有ディレクトリ にシンボリックリンクされているため、デプロイ間で存続することになります。例えば、その 使用:パスを、あなたは

関連する問題