Heroku 500内部服务器错误

时间:2012-01-26 11:44:19

标签: ruby-on-rails heroku

我正在开发一个Ruby on Rails应用程序并尝试使用Heroku部署它但是我有一些我无法解决的错误。我已经浏览了Heroku日志,可以看到细节,但我不知道有什么问题。我觉得这个问题来自我的_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>

这些是日志中提到的会话助手中的两种方法:

def user_from_remember_token
      User.authenticate_with_salt(*remember_token)
    end

def current_user
    @current_user ||= user_from_remember_token
  end

1 个答案:

答案 0 :(得分:11)

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

heroku run rake db:version

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

heroku run rake db:migrate