2016-03-30 55 views
1

Bazı nedenlerle, görüntüleri üretim/aşamalandırma ortamında yükleyemiyorum, her şey geliştirme aşamasında iyi çalışıyor. Üretimde bir resim yüklemeye çalışırken bir Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError: isn't precompiled alıyorum. Herhangi bir yardım çok takdir edilecektir. İştevarlıkları üretimdeki görüntüleri yüklerken ve Carrierwave, sis ve S3 ortamında yüklerken hata derlenmiyor

varlıklar derlenmiş ön edilmez görünen bir (gist) günlük çıkış

# Carrierwave.rb 

require 'fog/aws' 

CarrierWave.configure do |config| 
    config.fog_credentials = { 
     provider:     'AWS', 
     aws_access_key_id:   ENV['AWS_ACCESS_KEY_ID'], 
     aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], 
     region:         'us-east-1' 
    } 
    config.fog_directory = ENV['S3_BUCKET_NAME'] 
    config.fog_public = true 
    # config.ignore_integrity_errors = false 
    # config.ignore_processing_errors = false 
end 


# Ref: 
# https://support.cloud.engineyard.com/entries/20996881-Use-CarrierWave-and-Optionally-Fog-to-Upload-and-Store-Files#update3 
# http://stackoverflow.com/questions/7946819/carrierwave-and-amazon-s3 

============================= 
# AvatarUploader.rb 

# encoding: utf-8 

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 :file 
    storage :fog 
    # storage :aws 

    # 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 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    # "tmp/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    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 

    process :resize_to_fill => [150, 150] 

    version :inner do 
    process resize_to_fill: [100, 100] 
    end 

    version :profile, from_version: :inner do 
    process resize_to_fill: [45, 45] 
    end 

    version :small, from_version: :profile do 
    process resize_to_fill: [30, 30] 
    end 

    version :tiny, form_version: :small do 
    process resize_to_fill: [20, 20] 
    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_white_list 
    %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 
    # "#{expert.email}.jpg" if original_filename 
    # end 

end 
+0

Varlıklarınızı üretim veya hazırlama aşamalarında denemeyi denediniz mi? Bunu üretimde 'RAILS_ENV = üretim paketi exec komisyonu varlıklarını kullanarak yapabilirsiniz: precompile' komutu. – dp7

+0

Bu hatanın ne zaman yüklediğinizde ve avatarı bir görünümde kullandığınızdan emin misiniz? –

+0

@dkp, yep denedi ama hala aynı hatayı alıyordum – intercoder

cevap

0

olduğunu. Bu problem CarrierWave ile ilgili görünmüyor. Çalıştır RAILS_ENV = üretim paketi exec komisyonu varlıkları: precompile

+0

@Shisir, çözemedi korkarım sorun ama teşekkür ederim. – intercoder