2017-02-28 1 views
0

CarrierwaveがAzureストレージ情報をキャッシュしていて、間違ったコンテナにファイルをアップロードしています。キャッシングストレージからのキャリヤ波の保存情報

たとえば、画像をコンテナ "a"にアップロードした後、画像をコンテナ "b"にアップロードしようとすると、コンテナ "a"にアップロードされます。私はCarrierwaveがそれぞれアップロードするコンテナ情報を設定するのではなく、ストレージ情報をどこかにキャッシュしていると仮定します。これをやめないようにするにはどうすればいいですか?

class FileUploader < CarrierWave::Uploader::Base 

storage :azure 

def initialize(*) 
super 
    CarrierWave.configure do |config| 
    config.azure_storage_account_name = account_name 
    config.azure_storage_access_key = storage_key 
    config.azure_container = model.container_name 
    end 
end 

アップロードごとにアップローダを再初期化しようとしましたが、まだ同じ問題があります。

uploader = FileUploader.new 
uploader.store!(file) 

答えて

0

これがわかりました。 CarrierWaveに設定属性を割り当てる代わりに、それらを初期化されたアップローダオブジェクトに割り当てます。

def initialize(*) 
    super 
    self.azure_storage_account_name = account_name 
    self.azure_storage_access_key = storage_key 
    self.azure_container = model.container_name 
end 
関連する問題