2016-04-05 27 views
0
class AvatarUploader < CarrierWave::Uploader::Base 

    # Include RMagick or MiniMagick support: 
    # include CarrierWave::RMagick 
    # include CarrierWave::MiniMagick 

    # Choose what kind of storage to use for this uploader: 

    storage :fog 

    # Override the directory where uploaded files will be stored. 
    # This is a sensible default for uploaders that are meant to be mounted: 
    def store_dir 
    byebug 
    session[:user_email_id] 

    end 

    def get_time 
    @time = Time.now 
    end 

    # Provide a default URL as a default if there hasn't been a file uploaded: 
    # def default_url 
    # # For Rails 3.1+ asset pipeline compatibility: 
    # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) 
    # 
    # "/images/fallback/" + [version_name, "default.png"].compact.join('_') 
    # end 

    # Process files as they are uploaded: 
    # process scale: [200, 300] 
    # 
    # def scale(width, height) 
    # # do something 
    # end 

    # Create different versions of your uploaded files: 
    # version :thumb do 
    # process resize_to_fit: [50, 50] 
    # end 

    # Add a white list of extensions which are allowed to be uploaded. 
    # For images you might use something like this: 
    def extension_whitelist 
    %w(jpg jpeg gif png) 
    end 

    # Override the filename of the uploaded files: 
    # Avoid using model.id or version_name here, see uploader/store.rb for details. 
    # def filename 
    # "something.jpg" if original_filename 
    # end 

end 

Yukarıdaki store_dir yönteminde, bir dizenin döndürülmesini bekler. Bu yüzden dize geçerli kullanıcılar e-posta kimliği olarak vermeye çalışıyorum. Daha önce başka bir kontrolörde ayarlanmış ve diğer kontrol cihazlarında erişilebilir. Taşıyıcı dalgasıyla ilgili kayıp bir şey var mı? Biz kontrol cihazındaki "oturumu [xx]" kullandığındaOturumlar, dalga istasyonu yükleyicide erişilemiyor

bile spree_current_user, bu AvatarUploader

cevap

0

erişilebilir olmadığını kontrol cihazı, kullanıcının oturum verir "oturum" adlı bir yöntem, çünkü. AvatarUploader veya CarrierWave :: Uploader :: Base'in bu oturum yöntemine sahip olmadığına inandım, bu yüzden 'session [xxx]' adını veremezsiniz.

+0

Burada oturumları kullanabileceğim bir çözüm önerebilir misiniz? – gates

+0

İstediğiniz şeyi almak için "model" yöntemini kullanın –

+0

Model değişkeni, yükleyicinin bağlı olduğu örnek nesnesine işaret eder. –