1

我正在使用 rails 3.1.3 并设计 1.5.3,当我添加destroy_user_session_path到我的布局文件时,链接不起作用。我可以正常登录,但是当我单击此路径时,出现此错误:

No route matches [GET] "/users/sign_out"

但是,如果我运行 rake 路线,我会看到这条路线:

destroy_user_session DELETE /users/sign_out(.:format)
{:action=>"destroy", :controller=>"devise/sessions"}

所以这条路线显然使用了 DELETE 动词。我可以通过添加来获得工作路径:method => :delete,但为什么我必须这样做?路线在那里并且已经配置为删除,所以怎么了?

4

1 回答 1

1

rake routes向您展示您的应用程序将响应哪些路由。确保生成与服务器期望的链接相匹配的链接取决于您。 link_to不检查根据路线允许使用哪些动词 - 它希望您提供正确的动词。

于 2012-01-22T02:38:57.407 回答