ruby-on-rails - Heroku 500 内部服务器错误

标签 ruby-on-rails heroku

我正在开发 Ruby on Rails 应用程序并尝试使用 Heroku 部署它,但是我遇到了一些无法解决的错误。我已经查看了 Heroku 日志,可以看到详细信息,但我不知道出了什么问题。在我看来,问题来 self 的 _header.html.erb 文件,但我不知道为什么。任何帮助将不胜感激。以下是日志(对长度表示歉意):

2012-01-25T21:03:09+00:00 heroku[web.1]: State changed from bouncing to created
2012-01-25T21:03:10+00:00 heroku[web.1]: State changed from created to starting
2012-01-25T21:03:10+00:00 heroku[slugc]: Slug compilation finished
2012-01-25T21:03:12+00:00 heroku[web.1]: Starting process with command `thin -p 20848 -e production -R /home/heroku_rack/heroku.ru start`
2012-01-25T21:03:13+00:00 heroku[web.1]: Stopping process with SIGTERM
2012-01-25T21:03:13+00:00 app[web.1]: >> Stopping ...
2012-01-25T21:03:13+00:00 heroku[web.1]: Process exited
2012-01-25T21:03:15+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2012-01-25T21:03:15+00:00 app[web.1]: >> Maximum connections set to 1024
2012-01-25T21:03:15+00:00 app[web.1]: >> Listening on 0.0.0.0:20848, CTRL+C to stop
2012-01-25T21:03:15+00:00 heroku[web.1]: State changed from starting to up
2012-01-25T21:03:42+00:00 app[web.1]: 
2012-01-25T21:03:42+00:00 app[web.1]: 
2012-01-25T21:03:42+00:00 app[web.1]: Started GET "/" for 109.77.209.45 at 2012-01-25 13:03:42 -0800
2012-01-25T21:03:42+00:00 app[web.1]:   Processing by PagesController#home as HTML
2012-01-25T21:03:42+00:00 app[web.1]: Rendered layouts/_stylesheets.html.erb (1.0ms)
2012-01-25T21:03:42+00:00 app[web.1]: Completed 500 Internal Server Error in 32ms
2012-01-25T21:03:42+00:00 app[web.1]: Rendered layouts/_header.html.erb (22.9ms)
2012-01-25T21:03:42+00:00 app[web.1]: Rendered pages/home.html.erb within layouts/application (27.6ms)
2012-01-25T21:03:42+00:00 heroku[router]: GET young-fire-5944.heroku.com/ dyno=web.1 queue=0 wait=0ms service=349ms status=500 bytes=728
2012-01-25T21:03:42+00:00 app[web.1]:              ORDER BY a.attnum
2012-01-25T21:03:42+00:00 app[web.1]:              WHERE a.attrelid = '"users"'::regclass
2012-01-25T21:03:42+00:00 app[web.1]: 
2012-01-25T21:03:42+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
2012-01-25T21:03:42+00:00 app[web.1]: ActionView::Template::Error (PGError: ERROR:  relation "users" does not exist
2012-01-25T21:03:42+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2012-01-25T21:03:42+00:00 app[web.1]:                 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2012-01-25T21:03:42+00:00 app[web.1]:     4:     <ul>
2012-01-25T21:03:42+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2012-01-25T21:03:42+00:00 app[web.1]:   app/models/user.rb:43:in `authenticate_with_salt'
2012-01-25T21:03:42+00:00 app[web.1]:     3:   <nav class="round">
2012-01-25T21:03:42+00:00 app[web.1]:     5:       <li><%= link_to "Home", root_path %></li>
2012-01-25T21:03:42+00:00 app[web.1]:     6:       <% if signed_in? %>
2012-01-25T21:03:42+00:00 app[web.1]:     7:       <li><%= link_to "Profile", current_user %></li>
2012-01-25T21:03:42+00:00 app[web.1]:     8:            <li><%= link_to "Settings", edit_user_path(current_user) %></li>
2012-01-25T21:03:42+00:00 app[web.1]:     9:                <% if current_user.admin? %>
2012-01-25T21:03:42+00:00 app[web.1]:

2012-01-25T21:03:42+00:00 app[web.1]:   app/helpers/sessions_helper.rb:13:in `current_user'
2012-01-25T21:03:42+00:00 app[web.1]:   app/helpers/sessions_helper.rb:42:in `user_from_remember_token'
2012-01-25T21:03:42+00:00 app[web.1]:   app/views/layouts/application.html.erb:11:in `_app_views_layouts_application_html_erb__3812399716380071877_26136080_2104163587851409618'
2012-01-25T21:03:42+00:00 app[web.1]:   app/views/layouts/_header.html.erb:6:in `_app_views_layouts__header_html_erb___2854373713478424086_25761700_4595791322741015980'
2012-01-25T21:03:42+00:00 app[web.1]:   app/helpers/sessions_helper.rb:17:in `signed_in?'
2012-01-25T21:03:42+00:00 app[web.1]: 
2012-01-25T21:03:42+00:00 app[web.1]: 
2012-01-25T21:03:42+00:00 heroku[nginx]: 109.77.209.45 - - [25/Jan/2012:21:03:42 +0000] "GET / HTTP/1.1" 500 728 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7" young-fire-5944.heroku.com
2012-01-25T21:03:43+00:00 heroku[router]: GET young-fire-5944.heroku.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=32ms status=200 bytes=0
2012-01-25T21:03:43+00:00 heroku[nginx]: 109.77.209.45 - - [25/Jan/2012:21:03:43 +0000] "GET /favicon.ico HTTP/1.1" 200 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7" young-fire-5944.heroku.com
2012-01-25T21:06:42+00:00 heroku[router]: GET young-fire-5944.heroku.com/ dyno=web.1 queue=0 wait=0ms service=14ms status=500 bytes=728
2012-01-25T21:06:42+00:00 heroku[nginx]: 109.77.209.45 - - [25/Jan/2012:21:06:42 +0000] "GET / HTTP/1.1" 500 728 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7" young-fire-5944.heroku.com
2012-01-25T21:06:42+00:00 heroku[router]: GET young-fire-5944.heroku.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=4ms status=200 bytes=0
2012-01-25T21:06:42+00:00 heroku[nginx]: 109.77.209.45 - - [25/Jan/2012:21:06:42 +0000] "GET /favicon.ico HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7" young-fire-5944.heroku.com
2012-01-25T21:06:42+00:00 app[web.1]: 
2012-01-25T21:06:42+00:00 app[web.1]: 
2012-01-25T21:06:42+00:00 app[web.1]: Started GET "/" for 109.77.209.45 at 2012-01-25 13:06:42 -0800
2012-01-25T21:06:42+00:00 app[web.1]:   Processing by PagesController#home as HTML
2012-01-25T21:06:42+00:00 app[web.1]: Rendered layouts/_stylesheets.html.erb (0.5ms)
2012-01-25T21:06:42+00:00 app[web.1]: Rendered layouts/_header.html.erb (3.1ms)
2012-01-25T21:06:42+00:00 app[web.1]: Rendered pages/home.html.erb within layouts/application (4.9ms)
2012-01-25T21:06:42+00:00 app[web.1]: Completed 500 Internal Server Error in 6ms
2012-01-25T21:06:42+00:00 app[web.1]: 
2012-01-25T21:06:42+00:00 app[web.1]: ActionView::Template::Error (PGError: ERROR:  relation "users" does not exist
2012-01-25T21:06:42+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
2012-01-25T21:06:42+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2012-01-25T21:06:42+00:00 app[web.1]:                 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2012-01-25T21:06:42+00:00 app[web.1]:              WHERE a.attrelid = '"users"'::regclass
2012-01-25T21:06:42+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2012-01-25T21:06:42+00:00 app[web.1]:              ORDER BY a.attnum
2012-01-25T21:06:42+00:00 app[web.1]: ):
2012-01-25T21:06:42+00:00 app[web.1]:     3:   <nav class="round">
2012-01-25T21:06:42+00:00 app[web.1]:     4:     <ul>
2012-01-25T21:06:42+00:00 app[web.1]:     5:       <li><%= link_to "Home", root_path %></li>
2012-01-25T21:06:42+00:00 app[web.1]:     7:       <li><%= link_to "Profile", current_user %></li>
2012-01-25T21:06:42+00:00 app[web.1]:     8:            <li><%= link_to "Settings", edit_user_path(current_user) %></li>
2012-01-25T21:06:42+00:00 app[web.1]:   app/models/user.rb:43:in `authenticate_with_salt'
2012-01-25T21:06:42+00:00 app[web.1]:     9:                <% if current_user.admin? %>
2012-01-25T21:06:42+00:00 app[web.1]:   app/helpers/sessions_helper.rb:42:in `user_from_remember_token'
2012-01-25T21:06:42+00:00 app[web.1]:   app/helpers/sessions_helper.rb:13:in `current_user'
2012-01-25T21:06:42+00:00 app[web.1]:     6:       <% if signed_in? %>
2012-01-25T21:06:42+00:00 app[web.1]:   app/views/layouts/application.html.erb:11:in `_app_views_layouts_application_html_erb__3812399716380071877_26136080_2104163587851409618'
2012-01-25T21:06:42+00:00 app[web.1]:   app/helpers/sessions_helper.rb:17:in `signed_in?'
2012-01-25T21:06:42+00:00 app[web.1]: 
2012-01-25T21:06:42+00:00 app[web.1]: 
2012-01-25T21:06:42+00:00 app[web.1]:   app/views/layouts/_header.html.erb:6:in `_app_views_layouts__header_html_erb___2854373713478424086_25761700_4595791322741015980'
2012-01-25T22:13:29+00:00 heroku[web.1]: Idling
2012-01-25T22:13:30+00:00 heroku[web.1]: State changed from up to down
2012-01-25T22:13:30+00:00 heroku[web.1]: State changed from down to created
2012-01-25T22:13:30+00:00 heroku[web.1]: State changed from created to starting
2012-01-25T22:13:31+00:00 heroku[web.1]: Stopping process with SIGTERM
2012-01-25T22:13:31+00:00 app[web.1]: >> Stopping ...
2012-01-25T22:13:31+00:00 heroku[web.1]: Process exited
2012-01-25T22:13:34+00:00 heroku[web.1]: Starting process with command `thin -p 24499 -e production -R /home/heroku_rack/heroku.ru start`
2012-01-25T22:13:37+00:00 app[web.1]: >> Maximum connections set to 1024
2012-01-25T22:13:37+00:00 app[web.1]: >> Listening on 0.0.0.0:24499, CTRL+C to stop
2012-01-25T22:13:37+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2012-01-25T22:13:38+00:00 heroku[web.1]: State changed from starting to up
2012-01-25T23:17:36+00:00 heroku[web.1]: Idling
2012-01-25T23:17:37+00:00 heroku[web.1]: State changed from up to down
2012-01-25T23:17:39+00:00 heroku[web.1]: Stopping process with SIGTERM
2012-01-25T23:17:39+00:00 app[web.1]: >> Stopping ...
2012-01-25T23:17:40+00:00 heroku[web.1]: Process exited

这是我的标题:

<header>
  <%= link_to logo, root_path %>
  <nav class="round">
    <ul>
      <li><%= link_to "Home", root_path %></li>
      <% if signed_in? %>
      <li><%= link_to "Profile", current_user %></li>
            <li><%= link_to "Settings", edit_user_path(current_user) %></li>
                <% if current_user.admin? %>
                    <li><%= link_to "Users", users_path%></li>
                <% end%>
      <li><%= link_to "Sign out", signout_path, :method => :delete %></li>
      <% else %>
      <li><%= link_to "Sign in", signin_path %></li>
      <% end %>
    </ul>
  </nav>
</header>

这些是日志中提到的 session 帮助程序中的 2 个方法:

def user_from_remember_token
      User.authenticate_with_salt(*remember_token)
    end

def current_user
    @current_user ||= user_from_remember_token
  end

最佳答案

我猜你的heroku上的数据库不同步。尝试:

heroku run rake db:version

如果它与您的本地数据库不同,则:

heroku run rake db:migrate

关于ruby-on-rails - Heroku 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9017668/

相关文章:

ruby-on-rails - Rails 查询一个 has_many :through conditionally with multiple ids

python - Django on Heroku dumpdata 输出不完整

ruby-on-rails - 带有RVM的Mac OSX上的Rails Segmentation Fault

android - 带有 Android 的 Grape Rails API

ruby-on-rails - 从单一颜色生成配色方案

node.js - Heroku,node.js : stop downloading node_modules on each deploy

ruby-on-rails - Jobs with Resque gives "Don' t know how to build task 'jobs:work' "on Heroku

ruby-on-rails - PG::ConnectionBad: 无法连接到服务器:连接被拒绝

html - 有时我网站的背景 JPEG 无法完全加载。刷新不会重新下载。我能做些什么来防止这种情况发生?

ruby-on-rails - Rails/ActiveStorage 文件处理 – 仅在运行中还是在上传时?如果是这样,为什么?