要退出用户,我有链接:
link_to "Sign out", signout_path, method: "delete"
这个链接工作正常,我已经在我的路线文件中有路线/注销,但是当我禁用javascript并点击此链接时,它说:没有路线匹配[GET]“/ signout”,这有什么问题?
答案 0 :(得分:0)
没有脚本,浏览器只能通过提交表单发送非GET请求 - 单击链接始终是GET。为link_to
指定其他方法时,它会向链接添加JavaScript挂钩,以动态创建并使用适当的方法提交表单。如果禁用脚本,浏览器只会像往常一样提交GET请求。 This is explained in the docs here(查看选项)。
如果您的应用需要支持禁用脚本的用户,则可以使用button_to
代替link_to
,并将按钮设置为类似链接。