2015-06-16 68 views
0

我无法修复此错误。当我在heroku上进行制作时单击我的注销按钮时出现错误。但是,它在开发中起作用。这里是我的代码的ActionController :: RoutingError(无路由匹配[GET] “/用户/ SIGN_OUT”):轨道4

<% if user_signed_in? %> 
<li><%= link_to "Log out", destroy_user_session_path, method: :delete %></li> 
<% else %> 
<li><%= link_to "Sign in", new_user_session_path %></li> 
<% end%> 

路线:

 new_user_session GET /users/sign_in(.:format)  devise/sessions#new                                    
      user_session POST /users/sign_in(.:format)  devise/sessions#create                                   
    destroy_user_session DELETE /users/sign_out(.:format)  devise/sessions#destroy                                   
      user_password POST /users/password(.:format)  devise/passwords#create                                   
     new_user_password GET /users/password/new(.:format) devise/passwords#new                                    
     edit_user_password GET /users/password/edit(.:format) devise/passwords#edit                                   
         PATCH /users/password(.:format)  devise/passwords#update                                   
         PUT /users/password(.:format)  devise/passwords#update                                   
cancel_user_registration GET /users/cancel(.:format)  devise/registrations#cancel                                  
     user_registration POST /users(.:format)    devise/registrations#create                                  
    new_user_registration GET /users/sign_up(.:format)  devise/registrations#new                                   
    edit_user_registration GET /users/edit(.:format)   devise/registrations#edit                                  
         PATCH /users(.:format)    devise/registrations#update                                  
         PUT /users(.:format)    devise/registrations#update                                  
         DELETE /users(.:format)    devise/registrations#destroy 
+0

请发表您的整个'application.html.erb'和Heroku的日志。 – jojo

+2

修正了错误 - 使用下面的代码。 与routes.rb中添加固定 devise_scope:用户做 得到 '/用户/ SIGN_OUT'=> '设计/会话#摧毁' 结束 – user3905353

回答

0

我相信这是一个资产预编译的问题。当你在本地工作时,你运行资产预编译。当您部署到Heroku时,您的公共/资产目录中现在有较旧的文件,但是由于对网站进行了进一步更改并重新部署到Heroku,因此您未执行资产预编译。

您可以再次在本地运行资产预编译:

RAILS_ENV=production bundle exec rake assets:precompile

或删除公共/资产目录,提交和重新部署,使Heroku的。

请阅读这里更多的参考和可能的进一步的故障诊断帮助:https://devcenter.heroku.com/articles/rails-4-asset-pipeline

相关问题