Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 没有与[删除]匹配的路由”/“签出”;_Ruby On Rails - Fatal编程技术网

Ruby on rails 没有与[删除]匹配的路由”/“签出”;

Ruby on rails 没有与[删除]匹配的路由”/“签出”;,ruby-on-rails,Ruby On Rails,我正在试图弄清楚为什么我的注销链接无法正常破坏用户会话 如果我手动导航到localhost:3000/signout,它可以正常工作-销毁会话。但是如果我点击我的注销链接,我会得到一个无路由匹配[DELETE]“/signout”错误 以下是我创建链接的方式: <%= link_to "Sign out", signout_path, method: "delete" %> 我猜这与我如何创建链接有关。我尝试过其他一些变体,但它们似乎都有相同的错误。你知道我哪里出错了吗?你应该通

我正在试图弄清楚为什么我的注销链接无法正常破坏用户会话

如果我手动导航到
localhost:3000/signout
,它可以正常工作-销毁会话。但是如果我点击我的注销链接,我会得到一个
无路由匹配[DELETE]“/signout”
错误

以下是我创建链接的方式:

<%= link_to "Sign out", signout_path, method: "delete" %> 

我猜这与我如何创建链接有关。我尝试过其他一些变体,但它们似乎都有相同的错误。你知道我哪里出错了吗?

你应该通过
delete
HTTP方法而不是
get
来访问你的注销路径:

match '/signout', to: 'sessions#destroy', via: 'delete'

您应该通过
delete
HTTP方法而不是
get
,来访问您的签出路径:

match '/signout', to: 'sessions#destroy', via: 'delete'
从链接中删除
方法:“删除”
:-

<%= link_to "Sign out", signout_path %> 

从链接中删除
方法:“删除”
:-

<%= link_to "Sign out", signout_path %> 


这是可行的,但我猜马瑞克的答案可能是一条更好的路线,因为它不应该通过get?这是可行的,但我猜马瑞克的答案可能是一条更好的路线,因为它不应该通过get?