2014-09-13 65 views
3

我试图在Heroku上进行设计工作。它可以在我的电脑上正常工作,但是当我在Heroku上推送我的代码时,每次尝试创建用户时都会收到此错误:“我们很抱歉,但出错了。Devise&Heroku错误

如果您是应用程序所有者,请查看日志以获取更多信息。我检查了日志并没有错误。在这里,他们是:

2014-09-13T06:28:11.400635+00:00 heroku[router]: at=info method=GET path="https://stackoverflow.com/users/" host=birdl-dev.herokuapp.com request_id=0216598c-e1f8-465f-a68b-b7e648df5309 fwd="24.50.121.235" dyno=web.1 connect=1ms service=219ms status=200 bytes=945 
2014-09-13T06:28:15.654213+00:00 heroku[router]: at=info method=GET path="/" host=birdl-dev.herokuapp.com request_id=f1e788f3-ae69-4eb4-a64f-f81a3b8c528e fwd="24.50.121.235" dyno=web.1 connect=1ms service=9ms status=304 bytes=964 
2014-09-13T06:28:15.770802+00:00 heroku[router]: at=info method=GET path="/assets/application-cb25950d0e442f07f1fa7be553c321c3.css" host=birdl-dev.herokuapp.com request_id=0f40d69d-bfe7-4de1-aa1c-8ec251710b1e fwd="24.50.121.235" dyno=web.1 connect=0ms service=7ms status=404 bytes=954 
2014-09-13T06:28:15.776790+00:00 heroku[router]: at=info method=GET path="/assets/application-433aac58cfba85b04e81533418015cc6.js" host=birdl-dev.herokuapp.com request_id=6d5e0aca-1692-4029-9c46-76e3c1298fae fwd="24.50.121.235" dyno=web.1 connect=1ms service=8ms status=404 bytes=938 
2014-09-13T06:28:20.043253+00:00 heroku[router]: at=info method=GET path="https://stackoverflow.com/users/sign_in" host=birdl-dev.herokuapp.com request_id=93b3a4fb-0526-4497-a05c-6921d5c3dd14 fwd="24.50.121.235" dyno=web.1 connect=4ms service=68ms status=304 bytes=977 
2014-09-13T06:28:20.164359+00:00 heroku[router]: at=info method=GET path="/assets/application-cb25950d0e442f07f1fa7be553c321c3.css" host=birdl-dev.herokuapp.com request_id=2885dbd7-2122-4fd7-993b-476d1b8cac8c fwd="24.50.121.235" dyno=web.1 connect=1ms service=8ms status=404 bytes=967 
2014-09-13T06:28:20.162472+00:00 heroku[router]: at=info method=GET path="/assets/application-433aac58cfba85b04e81533418015cc6.js" host=birdl-dev.herokuapp.com request_id=d56a36a7-ae71-4d43-ae85-be6849818767 fwd="24.50.121.235" dyno=web.1 connect=0ms service=9ms status=404 bytes=951 
2014-09-13T06:28:24.725755+00:00 heroku[router]: at=info method=GET path="/assets/application-433aac58cfba85b04e81533418015cc6.js" host=birdl-dev.herokuapp.com request_id=f4798f12-b3e4-4be4-8ea7-b461fafe6eb8 fwd="24.50.121.235" dyno=web.1 connect=2ms service=13ms status=404 bytes=951 
2014-09-13T06:28:24.589217+00:00 heroku[router]: at=info method=GET path="https://stackoverflow.com/users/sign_up" host=birdl-dev.herokuapp.com request_id=cb92257d-c1c3-4cc5-a111-b5b1eb90e0e3 fwd="24.50.121.235" dyno=web.1 connect=0ms service=18ms status=304 bytes=1032 
2014-09-13T06:28:24.713540+00:00 heroku[router]: at=info method=GET path="/assets/application-cb25950d0e442f07f1fa7be553c321c3.css" host=birdl-dev.herokuapp.com request_id=7768d23a-c34e-4dff-a8ea-c4a2cd3caf29 fwd="24.50.121.235" dyno=web.1 connect=0ms service=9ms status=404 bytes=967 
2014-09-13T06:28:34.201030+00:00 heroku[router]: at=info method=POST path="/users" host=birdl-dev.herokuapp.com request_id=c1e7ab4c-68dd-433e-8f26-870c2392ab3e fwd="24.50.121.235" dyno=web.1 connect=1ms service=772ms status=500 bytes=1335 
2014-09-13T06:28:39.163670+00:00 heroku[router]: at=info method=GET path="/users" host=birdl-dev.herokuapp.com request_id=64aa0964-4b0a-476a-9a12-eb6fcd5b5fa3 fwd="24.50.121.235" dyno=web.1 connect=0ms service=15ms status=200 bytes=944 
2014-09-13T06:28:39.303286+00:00 heroku[router]: at=info method=GET path="/assets/application-cb25950d0e442f07f1fa7be553c321c3.css" host=birdl-dev.herokuapp.com request_id=6704909e-f077-4a92-af68-5fa63939023e fwd="24.50.121.235" dyno=web.1 connect=1ms service=11ms status=404 bytes=985 
2014-09-13T06:28:39.315308+00:00 heroku[router]: at=info method=GET path="/assets/application-433aac58cfba85b04e81533418015cc6.js" host=birdl-dev.herokuapp.com request_id=98a0ab32-b80e-4cda-8fc6-1e3877f25a75 fwd="24.50.121.235" dyno=web.1 connect=1ms service=23ms status=404 bytes=969 
2014-09-13T06:29:05.437893+00:00 heroku[router]: at=info method=GET path="/" host=birdl-dev.herokuapp.com request_id=93d4b29e-73c0-43ff-97a8-64c864926af5 fwd="54.89.230.255" dyno=web.1 connect=1ms service=13ms status=200 bytes=396 

development.rb

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

    # In the development environment your application's code is reloaded on                                   
    # every request. This slows down response time but is perfect for development                                  
    # since you don't have to restart the web server when you make code changes.                                  
    config.cache_classes = false 

    # Do not eager load code on boot.                                             
    config.eager_load = false 

    # Show full error reports and disable caching.                                         
    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 

    config.action_mailer.delivery_method = :sendmail 
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 
    # Don't care if the mailer can't send.                                           
    config.action_mailer.raise_delivery_errors = false 

    # Print deprecation notices to the Rails logger.                                         
    config.active_support.deprecation = :log 

    # Raise an error on page load if there are pending migrations.                                     
    config.active_record.migration_error = :page_load 

    # Debug mode disables concatenation and preprocessing of assets.                                     
    # This option may cause significant delays in view rendering with a large                                   
    # number of complex assets.                                              
    config.assets.debug = true 

    # Adds additional error checking when serving assets at runtime.                                     
    # Checks for improperly declared sprockets dependencies.                                       
    # Raises helpful error messages.                                             
    config.assets.raise_runtime_errors = true 

    # Raises error for missing translations                                           
    # config.action_view.raise_on_missing_translations = true                                       
end 

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 Rails's static asset server (Apache or nginx will already do this).                                  
    config.serve_static_assets = false 

    # 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 

    # Generate digests for assets URLs.                                            
    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                                               

    # Set to :debug to see everything in the log.                                          
    config.log_level = :info 

    # 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 

    # Disable automatic flushing of the log to improve performance.                                     
    # config.autoflush_log = false                                             

    # 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 
end 

任何的猜测?当您创建用户

回答

4

DB

Any guess? 

我想象的错误是你没有迁移在Heroku数据库。

这是一个常见的问题,假设你的开发环境是“只是”你的Rails应用程序 - 它不止于此。你必须确保你的生产数据库填充了你在你的Rails数据库具有相同的数据,也

我会确保你已经做到了这一点:

$ Heroku的运行耙分贝:迁移

-

调试

手法高明的伎俩,以 “调试”在Heroku上实际上是让你的应用以“开发”模式运行。虽然你必须确保您切换回在生产模式下运行之后,如果你做到以下几点,它会告诉你是什么错误正确:

#config/environments/production.rb 
config.consider_all_requests_local = true # false 

改变这一状况,重新推到Heroku的&然后您将能够在屏幕上看到详细的错误版本。我认为它会说你没有在你的数据库中的正确的列;)

+1

我迁移了数据库。这解决了我的问题。错误来自设计。谢谢 ! – Aeradriel 2014-09-13 15:45:48

0

此行日志

2014-09-13T06:28:34.201030+00:00 heroku[router]: at=info method=POST path="/users" host=birdl-dev.herokuapp.com request_id=c1e7ab4c-68dd-433e-8f26-870c2392ab3e fwd="24.50.121.235" dyno=web.1 connect=1ms service=772ms status=500 bytes=1335 

在告诉你,一个异常情况发生。尝试在production.rb

config.log_level = :debug 

设置并重新启动服务器来查看日志中的异常回溯。

1

另外,不要忘了设置config.action_mailer.default_url_optionsconfig/environments/production.rb并建立一个邮件程序。或者,如果您尚未准备好设置邮件程序,请设置config.action_mailer.perform_deliveries = false