2016-04-23 65 views
0

的Gemfile

source 'http://rubygems.org' 
gem 'rails', '4.2.4' 
group :development do 
    gem 'sqlite3' 
end 
group :production do 
    gem 'pg' 
end 
gem 'searchkick' 
gem 'cocoon' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 
gem 'foundation-rails' 
gem 'tinymce-rails', '~> 4.3', '>= 4.3.8' 
gem 'haml' 
gem 'font-awesome-rails', '~> 4.6', '>= 4.6.1.0' 
gem 'simple_form' 
gem 'paperclip', '~> 4.3.6' 
gem 'omniauth-facebook' 
gem 'acts_as_votable' 
gem 'masonry-rails', '~> 0.2.4' 
gem 'aws-sdk', '~> 1.66.0' 
gem 'foreman' 
gem 'puma' 
gem 'omniauth' 
gem 'jquery-turbolinks', '~> 2.1' 
group :development, :test do 
    gem 'byebug' 
end 
group :development do 
    gem 'web-console', '~> 2.0' 
end 
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 

Production.rb

Rails.application.configure do 
    # Settings specified here will take precedence over those in config/application.rb. 

    # Code is not reloaded between requests. 
    config.cache_classes = true 

    # Eager load code on boot. This eager loads most of Rails and 
    # your application in memory, allowing both threaded web servers 
    # and those relying on copy on write to perform better. 
    # Rake tasks automatically ignore this option for performance. 
    config.eager_load = true 

    # Full error reports are disabled and caching is turned on. 
    config.consider_all_requests_local  = false 
    config.action_controller.perform_caching = true 

    # Enable Rack::Cache to put a simple HTTP cache in front of your application 
    # Add `rack-cache` to your Gemfile before enabling this. 
    # For large-scale production use, consider using a caching reverse proxy like 
    # NGINX, varnish or squid. 
    # config.action_dispatch.rack_cache = true 

    # Disable serving static files from the `/public` folder by default since 
    # Apache or NGINX already handles this. 
    config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present? 

    # Compress JavaScripts and CSS. 
    config.assets.js_compressor = :uglifier 
    # config.assets.css_compressor = :sass 

    # Do not fallback to assets pipeline if a precompiled asset is missed. 
    config.assets.compile = false 

    # Asset digests allow you to set far-future HTTP expiration dates on all assets, 
    # yet still be able to expire them through the digest params. 
    config.assets.digest = true 

    # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb 

    # Specifies the header that your server uses for sending files. 
    # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache 
    # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX 

    # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. 
    # config.force_ssl = true 

    # Use the lowest log level to ensure availability of diagnostic information 
    # when problems arise. 
    config.log_level = :debug 

    # Prepend all log lines with the following tags. 
    # config.log_tags = [ :subdomain, :uuid ] 

    # Use a different logger for distributed setups. 
    # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) 

    # Use a different cache store in production. 
    # config.cache_store = :mem_cache_store 

    # Enable serving of images, stylesheets, and JavaScripts from an asset server. 
    # config.action_controller.asset_host = 'http://assets.example.com' 

    # Ignore bad email addresses and do not raise email delivery errors. 
    # Set this to true and configure the email server for immediate delivery to raise delivery errors. 
    # config.action_mailer.raise_delivery_errors = false 

    # Enable locale fallbacks for I18n (makes lookups for any locale fall back to 
    # the I18n.default_locale when a translation cannot be found). 
    config.i18n.fallbacks = true 

    # Send deprecation notices to registered listeners. 
    config.active_support.deprecation = :notify 

    # Use default logging formatter so that PID and timestamp are not suppressed. 
    config.log_formatter = ::Logger::Formatter.new 

    # Do not dump schema after migrations. 
    config.active_record.dump_schema_after_migration = false 
    config.paperclip_defaults = { 
    :storage => :s3, 
    :s3_protocol => 'http', 
    :s3_credentials => { 
     :bucket => ENV['S3_BUCKET_NAME'], 
     :access_key_id => ENV['AWS_ACCESS_KEY'], 
     :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] 
    } 
    } 
end 

Paperclip.rb

Paperclip::Attachment.default_options[:url] = ':s3_domain_url' 
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename' 

我遇到了這個錯誤回形針與S3工作正常,在本地主機,但在Heroku給錯誤

We're sorry, but something went wrong. 
If you are the application owner check the logs for more information. 

圖像上傳工作在localhost上完美無瑕。我不是爲什麼它在Heroku上給出這個錯誤。我檢查了credentail config環境變量,它們是正確的。它們沒有問題。即使使用了heroku日誌,沒有其他任何事情可以推斷出來,而不是狀態:500。有人可以幫助我得到完整的錯誤消息,因爲知道錯誤的Heroku日誌或讓我知道上面的代碼有什麼問題。提前感謝lott

回答

0

以下是Heroku應用程序的一些有用的調試設置。

在production.rb:

# More meaningful logs 
config.log_level = :debug 

# More meaningful error pages 
config.consider_all_requests_local = true 
+0

該死的......男人......謝謝sooooo很多......!我可以找出錯誤,並能夠解決它。你救了我的一天。 –

+0

隨時,我的朋友。快樂的編碼! –

0

我想通了錯誤設置:

Production.rb

# More meaningful logs 
config.log_level = :debug 

# More meaningful error pages 
config.consider_all_requests_local = true 

在我的情況不存在與問題:s3_region,我固定它通過配置ENV變量爲heroku

heroku config:set AWS_REGION=us-east-1 
相關問題