0

要注销用户,我有链接:

link_to "Sign out", signout_path, method: "delete"

这个链接工作正常,我的路由文件中已经有一个路由 /signout,但是当我禁用 javascript 并单击这个链接时,它说:没有路由匹配 [GET] "/signout",这里有什么问题?

4

1 回答 1

0

如果没有脚本,浏览器只能通过提交表单来发送非 GET 请求——单击链接始终是 GET。当您为 指定不同的方法时link_to,它会在链接中添加一个 JavaScript 挂钩,该链接会动态地创建并使用适当的方法提交表单。如果脚本被禁用,浏览器只会像往常一样提交一个 GET 请求。这在此处的文档中进行了解释(在Options下查看)。

如果您的应用需要支持禁用脚本的用户,您可以使用button_to而不是link_to,并将按钮样式设置为看起来像一个链接。

于 2013-09-24T17:29:21.657 回答