デフォルトでは、 Attach Fuはアップロードされたファイルを に保存し"public/#{table_name}"
ます。これを のようなものに変更したいのですが"public/#{table_name}/#{site_id}"
、site_id
はモデルのプロパティです。self.site_id
使用してみましたが、両方とも失敗することに注意してください。
has_attachment :storage => :file_system,
:max_size => 25.megabytes,
:path_prefix => "public/#{table_name}/#{site_id}",
:thumbnails => {
:large => '256x256>',
:medium => '128x128>',
:small => '64x64>'
}
「undefined local variable or method site_id」というエラー メッセージが表示されます。#{site_id}
コンポーネントを正常に削除する:path_prefix
と、initialize
メソッドが実行されます。期待通りにアクセスできますsite_id
。
次のようなinitialize
メソッドがあります。
def initialize(site_id = nil)
super(nil)
self.site_id ||= site_id
end
次のように、Rails コンソールを介してオブジェクトをインスタンス化します。
r = Resource.new(100)
メソッドはhas_attachment
私のメソッドの前に実行されていinitialize
ますか? :path_prefix
モデルがインスタンス化されたときにパラメータを動的に渡すにはどうすればよいですか?