私はあなたがアップローダー(すべてのモデル)からレールsession/request
情報にアクセスすることができないので、あなたが必要とするあなたは、デフォルトでcarrierwaveでこれを行うことができると思いますが、あなたはこのモンキーパッチ
module CarrierWave::Uploader::Url
def url
if $request
if file.respond_to?(:url) and not file.url.blank?
$request.protocol + $request.host_with_port + file.url
elsif current_path
$request.protocol + $request.host_with_port + (base_path || "") + File.expand_path(current_path).gsub(File.expand_path(root), '')
end
else
raise ArgumentError, "Request object is empty"
end
end
end
によってこの問題を回避することができますいけません要求データをロードするためにapplication_controller
でbefore_filter
を定義するための
before_filter :load_request
def load_request
$request = request
end
私は、ローカルストレージ/ mongoidにこのパッチをテストしています。私は、これは、応答のための
感謝を助け
希望。これは、Amazon S3の/霧の中で動作する方法を知ってはいけません。猿パッチがアップローダファイルに入っているはずですか?また、イメージ用のローカルストレージも使用しています(Grid FS)。 – ags9
あなたはcarrierwaveイニシャライザに置くことができます、それはトリックを行います..私はそれもローカルストレージのためには良いと思うが、あなたが確認することができます:) – RameshVel