设计和 Heroku 错误

Aer*_*iel 3 ruby-on-rails heroku devise

我正在尝试在 Heroku 上进行设计工作。它在我的计算机上运行良好,但是当我在 Heroku 上推送我的代码时,每次尝试创建用户时我都会收到此错误:`我们很抱歉,但出了点问题。

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

2014-09-13T06:28:11.400635+00:00 heroku[router]: at=info method=GET path="/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="/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="/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
Run Code Online (Sandbox Code Playgroud)

发展.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
Run Code Online (Sandbox Code Playgroud)

生产.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
Run Code Online (Sandbox Code Playgroud)

有什么猜想吗?

Ric*_*eck 5

D B

Any guess?
Run Code Online (Sandbox Code Playgroud)

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

假设您的开发环境“只是”您的 Rails 应用程序,这是一个常见的问题——不仅如此。您必须确保您的生产数据库也填充了您在 Rails 数据库中拥有的相同数据

我会确保你已经这样做了:

$ heroku run rake db:migrate

——

调试

在 Heroku 上“调试”的一个偷偷摸摸的技巧是让你的应用程序在“开发”模式下运行。尽管您必须确保之后将其切换回生产模式,但如果您执行以下操作,它将正确显示错误:

#config/environments/production.rb
config.consider_all_requests_local = true # false
Run Code Online (Sandbox Code Playgroud)

更改此设置,重新推送到 Heroku,然后您将能够在屏幕上看到错误的详细版本。我想它会说你的数据库中没有正确的列;)