重新部署后Rails 3路由错误

时间:2011-08-29 17:11:38

标签: ruby-on-rails-3 heroku

我正在Heroku上托管一个Rails 3站点,我发现无论何时推送新版本,POST请求都会引发RoutingError,直到用户清除其cookie。我在当地发展时没有任何问题;就在我推到Heroku的时候。因此,您可以访问首页,但在提交“注册”和“登录”表单时会出现RoutingError。有没有人见过这种行为?任何想法如何解决它?

我真的不认为这里的问题是我的config / routes.rb或我的控制器/视图,因为通常这有效,但是当我推送新版本时它会中断,至少在cookie被清除之前。这可能是protect_from_forgery问题吗?

如果有帮助,这是我的日志:

2011-08-29T16:42:30+00:00 heroku[router]: POST mysite.com/signup dyno=web.1 queue=0 wait=0ms service=354ms status=200 bytes=7518
2011-08-29T16:42:30+00:00 heroku[nginx]: 128.91.71.89 - staging [29/Aug/2011:09:42:30 -0700] "POST /signup HTTP/1.1" 200 2482 "http://mysite.com/" "Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0" mysite.com
2011-08-29T16:43:17+00:00 app[web.1]: 
2011-08-29T16:43:17+00:00 app[web.1]: 
2011-08-29T16:43:17+00:00 app[web.1]: Started POST "/signup" for 128.91.71.74 at Mon Aug 29 09:43:17 -0700 2011
2011-08-29T16:43:17+00:00 app[web.1]: 
2011-08-29T16:43:17+00:00 app[web.1]: ActionController::RoutingError (No route matches "/signup"):

1 个答案:

答案 0 :(得分:0)

嗯,事实证明问题是登录&注册表单正在进行PUT,而不是POST,因为@user在某些奇怪的条件下被错误地设置了。很抱歉浪费时间,任何困扰阅读此事的人都会忘记!