Ruby on rails 删除和其他路由之间的差异

Ruby on rails 删除和其他路由之间的差异,ruby-on-rails,Ruby On Rails,下面是编辑和销毁操作的链接帮助程序。第一个链接和所有其他链接都工作得很好,但第二个链接创建了一个奇怪的url,却不起作用 <%= link_to "Edit", edit_event_path(organizer_vanity_url: event.organizer.vanity_url, id: event.id) %> <%= link_to 'Remove', event_path(organizer_vanity_url: event.organizer.vani

下面是编辑和销毁操作的链接帮助程序。第一个链接和所有其他链接都工作得很好,但第二个链接创建了一个奇怪的url,却不起作用

<%= link_to "Edit", edit_event_path(organizer_vanity_url: event.organizer.vanity_url, id: event.id) %>  
<%= link_to 'Remove', event_path(organizer_vanity_url: event.organizer.vanity_url, id: event.id), method: :delete, data: { confirm: 'Are you sure?' } %>
“删除链接”帮助程序与其他帮助程序之间有什么区别,因为这是唯一一个不起作用的帮助程序?

link\u to-默认情况下是类似于“获取请求”的帮助程序

DELETE方法是POST-like方法

所以,您需要传递post方法来获取帮助程序并接收奇怪的url

要解决此问题,您有两种选择:

默认情况下,第一个按钮用于提交post表单,而不是将其链接到帮助器

正确处理你的链接


oorganizer而不是organizer?与@Peter Alfvin的解决方案相同,这只是示例代码中的一个输入错误。@polmiro button_to?由于我有嵌套路由,我需要传递参数来构建路由,不是吗?是的,但按钮_to将发出POST请求,这需要使用@okliv在回答中提到的方法DELETE
scope "organizer" do
  scope ":organizer_vanity_url" do
    scope "manage" do
      resources :events
    end
  end
end