Je suis en train de développer une application Ruby on Rails et je tente de la déployer avec Heroku, mais j'ai quelques erreurs que je ne peux pas résoudre. J'ai parcouru le journal de Heroku et je peux voir les détails mais je ne sais pas ce qui ne va pas. Le problème me semble provenir de mon fichier _header.html.erb mais je ne sais pas pourquoi. Toute aide serait appréciée Merci. Voici les journaux (mes excuses pour la longueur):Erreur interne du serveur Heroku 500
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
Et voici ma tête:
<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>
Et ce sont les 2 méthodes dans l'aide de la session mentionnée dans les journaux:
def user_from_remember_token
User.authenticate_with_salt(*remember_token)
end
def current_user
@current_user ||= user_from_remember_token
end
merci je suis un idiot. – Hugs
Vous n'êtes pas. Souvent, lorsque nous sommes trop concentrés sur quelque chose, nous manquons les suppositions simples :) – lucapette
Pour les parties intéressées, "râteau heroku" est obsolète. Il ne devrait pas être "heroku run rake" à la place pour exécuter des commandes rake sur le serveur. – csalvato