到目前为止,我已经设法想出了这段代码:
1 <% @projects.each do |p| %>
2 <%= link_to p.name, project_path(p) %>
3 <%= link_to "edit", edit_project_path(p) %>
4 <%= link_to "delete", project_path(p), :method => :delete %>
5 <% end %>
当我点击“删除”链接时,它会将我带到 destroy.html.erb,而不是 delete.html.erb。它还与 Controller “销毁”操作通信,而不是与“删除”操作通信。此外,URL 类似于/projects/1(没有/delete 或/destroy)。这里有什么问题?这是创建删除链接的最佳方式吗?
最佳答案
这是 Rails 的正确行为。 :delete 方法链接到 destroy 操作并且不向 URL 添加任何内容——正确的操作由 HTTP 动词连接。有关 Rails 路由结构和默认设置的更多信息,请查看 the Rails routing guide .
关于ruby-on-rails - 如何创建链接以删除 Rails 中的操作(使用路径和 link_to)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711356/