2013-04-07 4 views
2

У меня есть приложение http://agile2go.herokuapp.com/ с помощью devation + cancan.Разработчик работает локально, но не работает на heroku

Запуск приложения локально работает нормально, но при развертывании на Heroku на странице sign_up отображается сообщение об ошибке. Тем не менее, страница sign_in работает отлично!

Я знаю, что проблема при вызове ресурса в simple_form_for, когда я взял ресурс из он работал:

<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form-horizontal' }) do |f| %> 

Он работает на sign_in странице!

Вот мой routes.rb

authenticated :user do 
    root :to => "home#index" 
end 
root :to => "home#index"  
devise_for :users, :path => "auth" 

На Navbar при нажатии на ссылки:

<li><%= link_to 'Login', new_user_session_path %></li>//works 
<li><%= link_to 'Sign up', new_user_registration_path %></li>//does not work 

Наконец журналы Heroku:

2013-04-07T21:55:15+00:00 app[web.1]: Started GET "/auth/sign_up" for 177.143.148.73 at 2013-04-07 21:55:15 +0000 
2013-04-07T21:55:16+00:00 app[web.1]: 
2013-04-07T21:55:16+00:00 app[web.1]:  4: <%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form-horizontal' }) do |f| %> 
2013-04-07T21:55:16+00:00 app[web.1]: ActionView::Template::Error (undefined method `name' for #<User:0x00000004317050>): 
2013-04-07T21:55:16+00:00 app[web.1]:  5: <%= f.error_notification %> 
2013-04-07T21:55:16+00:00 app[web.1]:  9: <%= f.input :password, :placeholder => 'Password', :required => true, input_html: { class: 'text_field input-xlarge' } %> 
2013-04-07T21:55:16+00:00 app[web.1]:  10: <%= f.input :password_confirmation, :placeholder => 'Confirmation', :required => true, input_html: { class: 'text_field input-xlarge' } %> 
2013-04-07T21:55:16+00:00 app[web.1]:  8: <%= f.input :email, :placeholder => 'Email', :required => true, input_html: { class: 'text_field input-xlarge' } %> 
2013-04-07T21:55:16+00:00 app[web.1]:  7: <%= f.input :name, :placeholder => 'Name', :autofocus => true, input_html: { class: 'text_field input-xlarge' } %> 
2013-04-07T21:55:16+00:00 app[web.1]: app/views/devise/registrations/new.html.erb:7:in `block in _app_views_devise_registrations_new_html_erb__4395295283282032383_35150600' 
2013-04-07T21:55:16+00:00 app[web.1]: app/views/devise/registrations/new.html.erb:4:in `_app_views_devise_registrations_new_html_erb__4395295283282032383_35150600' 
2013-04-07T21:55:16+00:00 app[web.1]: 
2013-04-07T21:55:16+00:00 app[web.1]:  6: <%= display_base_errors resource %> 
2013-04-07T21:55:16+00:00 app[web.1]: 
2013-04-07T21:55:16+00:00 heroku[router]: at=info method=GET path=/auth/sign_up host=agile2go.herokuapp.com fwd="177.143.148.73" dyno=web.1 connect=2ms service=228ms status=500 bytes=643 

Я не знаю, почему его высказывание неопределенного метода name за #<User:0x00000004317050>

+3

Вы запустили все свои миграции на Heroku? Выполняет ли '$ heroku rake db: migrate: status --app app_name' сообщение о любых ожидающих переходах? – catsby

+0

Исправлено! миграция, которую я сделал, не создала имя столбца на моей модели user.rb ... TKS В любом случае! –

ответ

1

Я просто столкнулся с той же проблемой - raking исправил это для меня. Попробуйте это в консоли:

$ heroku run rake db:migrate 
Смежные вопросы