title: Heroku 500 Internal Server Error
body: <p>I am developing a Ruby on Rails app and attempting to deploy it with Heroku however I have some errors that I cannot solve. I have gone through the Heroku log and can see the details but I don't know what is wrong. The problem appears to me to be coming from my _header.html.erb file but I don't know why. Any help would be appreciated thanks. Here are the logs (apologies for the length):</p>
  
  <pre><code>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]: &gt;&gt; Stopping ...
  2012-01-25T21:03:13+00:00 heroku[web.1]: Process exited
  2012-01-25T21:03:15+00:00 app[web.1]: &gt;&gt; Thin web server (v1.2.6 codename Crazy Delicious)
  2012-01-25T21:03:15+00:00 app[web.1]: &gt;&gt; Maximum connections set to 1024
  2012-01-25T21:03:15+00:00 app[web.1]: &gt;&gt; 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:     &lt;ul&gt;
  2012-01-25T21:03:42+00:00 app[web.1]:                AND a.attnum &gt; 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:   &lt;nav class="round"&gt;
  2012-01-25T21:03:42+00:00 app[web.1]:     5:       &lt;li&gt;&lt;%= link_to "Home", root_path %&gt;&lt;/li&gt;
  2012-01-25T21:03:42+00:00 app[web.1]:     6:       &lt;% if signed_in? %&gt;
  2012-01-25T21:03:42+00:00 app[web.1]:     7:       &lt;li&gt;&lt;%= link_to "Profile", current_user %&gt;&lt;/li&gt;
  2012-01-25T21:03:42+00:00 app[web.1]:     8:            &lt;li&gt;&lt;%= link_to "Settings", edit_user_path(current_user) %&gt;&lt;/li&gt;
  2012-01-25T21:03:42+00:00 app[web.1]:     9:                &lt;% if current_user.admin? %&gt;
  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 &gt; 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:   &lt;nav class="round"&gt;
  2012-01-25T21:06:42+00:00 app[web.1]:     4:     &lt;ul&gt;
  2012-01-25T21:06:42+00:00 app[web.1]:     5:       &lt;li&gt;&lt;%= link_to "Home", root_path %&gt;&lt;/li&gt;
  2012-01-25T21:06:42+00:00 app[web.1]:     7:       &lt;li&gt;&lt;%= link_to "Profile", current_user %&gt;&lt;/li&gt;
  2012-01-25T21:06:42+00:00 app[web.1]:     8:            &lt;li&gt;&lt;%= link_to "Settings", edit_user_path(current_user) %&gt;&lt;/li&gt;
  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:                &lt;% if current_user.admin? %&gt;
  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:       &lt;% if signed_in? %&gt;
  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]: &gt;&gt; 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]: &gt;&gt; Maximum connections set to 1024
  2012-01-25T22:13:37+00:00 app[web.1]: &gt;&gt; Listening on 0.0.0.0:24499, CTRL+C to stop
  2012-01-25T22:13:37+00:00 app[web.1]: &gt;&gt; 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]: &gt;&gt; Stopping ...
  2012-01-25T23:17:40+00:00 heroku[web.1]: Process exited
  </code></pre>
  
  <p>And this is my header:</p>
  
  <pre><code>&lt;header&gt;
    &lt;%= link_to logo, root_path %&gt;
    &lt;nav class="round"&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;%= link_to "Home", root_path %&gt;&lt;/li&gt;
        &lt;% if signed_in? %&gt;
        &lt;li&gt;&lt;%= link_to "Profile", current_user %&gt;&lt;/li&gt;
              &lt;li&gt;&lt;%= link_to "Settings", edit_user_path(current_user) %&gt;&lt;/li&gt;
                  &lt;% if current_user.admin? %&gt;
                      &lt;li&gt;&lt;%= link_to "Users", users_path%&gt;&lt;/li&gt;
                  &lt;% end%&gt;
        &lt;li&gt;&lt;%= link_to "Sign out", signout_path, :method =&gt; :delete %&gt;&lt;/li&gt;
        &lt;% else %&gt;
        &lt;li&gt;&lt;%= link_to "Sign in", signin_path %&gt;&lt;/li&gt;
        &lt;% end %&gt;
      &lt;/ul&gt;
    &lt;/nav&gt;
  &lt;/header&gt;
  </code></pre>
  
  <p>And these are the 2 methods in the session helper mentioned in the logs:</p>
  
  <pre><code>def user_from_remember_token
        User.authenticate_with_salt(*remember_token)
      end
  
  def current_user
      @current_user ||= user_from_remember_token
    end
  </code></pre>