1

当我使用 link_to :method=>:delete 时,rails 生成的是一个 javascript 点击,如果您确实遇到客户端禁用 javascript 的情况,这并不好。这对我来说似乎是个坏主意。有机会解决这个问题吗?

4

3 回答 3

1

您唯一的其他选择是手动进行。

假设您要删除的对象在 @item 中,只需执行以下操作:

form_for @item, :method => :delete do |f|
  f.submit "Delete this item"
end

然后,您可以根据需要设置提交按钮的样式,使其看起来像一个普通链接。

于 2008-12-19T17:55:03.583 回答
1

它生成的是一个带有method="delete"的表单,最好的办法是自己制作表单,唯一的问题是提交按钮不会是一个链接,而是一个按钮。

无论如何,您都不应该尝试使用 basic 来执行此<a href="">操作,因为不应该对GET请求进行破坏性操作(创建、更新、删除)。

于 2008-12-19T09:13:03.237 回答
0

如果您需要它在没有 JavaScript 的情况下工作,请使用button_to

<%= button_to 'Delete', @item, :method => :delete %>

从文档:

生成一个包含单个按钮的表单,该按钮提交到由 +options+ 集创建的 URL。这是确保导致数据更改的链接不会被搜索机器人或加速器触发的最安全方法。

于 2010-09-12T16:16:23.360 回答