是否有一种简单的 RESTful 方法可以为禁用 javascript 的人link_to
提供一个后备 url?:method => :delete
例如,假设我有一个评论列表。要添加删除评论的链接,我可能会输入:
<%= link_to "Delete", comment_path(comment.id), :method => :delete %>
这将产生一个链接data-method="delete"
,我的 ujs 驱动程序(在我的例子中是 jquery_ujs)将变成一个 DELETE 请求。但是,当关闭 javascript 时,该链接将作为 GET 请求进行跟踪(如文档中所宣传的那样),并且我的控制器理所当然地被混淆了。
有没有解决这个问题的好方法?有Railscast 77,它显示了一种解决方案,但这似乎需要大量额外的代码,并且抛出了非常优雅的:method => :delete
解决方案。我可以在禁用 javascript 时生成一个指向确认删除页面的链接。
我能想到的唯一解决方案是button_to
在页面上使用 UJS 将其替换为对应的link_to
. 这对我来说似乎不太正确,但也许没关系?还有其他想法吗?