我禁用javascript时没有路由匹配/注销

时间:2013-09-24 16:56:48

标签: ruby-on-rails

要退出用户,我有链接:

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

这个链接工作正常,我已经在我的路线文件中有路线/注销,但是当我禁用javascript并点击此链接时,它说:没有路线匹配[GET]“/ signout”,这有什么问题?

1 个答案:

答案 0 :(得分:0)

没有脚本,浏览器只能通过提交表单发送非GET请求 - 单击链接始终是GET。为link_to指定其他方法时,它会向链接添加JavaScript挂钩,以动态创建并使用适当的方法提交表单。如果禁用脚本,浏览器只会像往常一样提交GET请求。 This is explained in the docs here(查看选项)。

如果您的应用需要支持禁用脚本的用户,则可以使用button_to代替link_to,并将按钮设置为类似链接。