Rails Routing Broken In Production - Caching of routes.rb suspected

和自甴很熟 提交于 2019-12-10 00:58:48

问题


Update: Turns out that this problem was because half my mongrel did not restart. Thanks all for help!

Hi folks, i have an urgent problem. Essentially, my routing works on my localhost. But when i deployed this to production, the routes does not seem to work correctly.

For example, given a new route "/invites" - sometimes i will get a 404, and sometimes it will work correctly.

I suspect there is some caching going on somewhere, but i am not sure.

Logs: when a page is not found (when the routes are supposed to be accurate)

Processing UsersController#network (for 67.180.78.126 at 2010-06-01 09:59:31) [GET] Parameters: {"id"=>"new"}

ActionController::RoutingError (No route matches "/comm/role_playing_games" with {}):
app/controllers/application_controller.rb:383:in prev_page_label'
app/controllers/application_controller.rb:238:in
log_timed_info'
app/controllers/users_controller.rb:155:in network'
app/controllers/users_controller.rb:151:in
network'
app/controllers/application_controller.rb:44:in turn_on_query_caching'
app/controllers/application_controller.rb:43:in
turn_on_query_caching'
app/controllers/application_controller.rb:42:in turn_on_query_caching'
app/controllers/application_controller.rb:41:in
turn_on_query_caching'
app/controllers/application_controller.rb:40:in turn_on_query_caching'
app/controllers/application_controller.rb:39:in
turn_on_query_caching' haml (3.0.6) lib/sass/plugin/rack.rb:41:in `call'

Rendering /mnt/app/releases/20100524233313/public/404.html (404 Not Found)


回答1:


From the little you have posted, this definitely isn't a caching or routing problem.

It sounds like you are trying to generate a link to the previous page the person was on inside ApplicationController and you have a bug with it. You will have to post the relevant code from application_controller.rb.




回答2:


Did you make sure you restarted your server (like apache, ngix or passenger)? Also, sometimes a browser can cache urls, just close your browser and reopen it, see if that fixes it.

Also, once in a blue moon, I'll forget to push the code to GIT and therefore production server doesn't get the latest code. Just check that your server actually has the code there.



来源:https://stackoverflow.com/questions/2951894/rails-routing-broken-in-production-caching-of-routes-rb-suspected

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!