【问题标题】:The difference between delete and the other routesdelete和其他路由的区别
【发布时间】:2013-08-27 21:38:02
【问题描述】:

下面我有用于编辑和销毁操作的链接助手。第一个链接(以及所有其他链接)运行良好,但第二个链接创建了一个不起作用的奇怪 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?' } %>

这是来自 routes.rb:

scope "organizer" do
  scope ":organizer_vanity_url" do
    scope "manage" do
      resources :events
    end
  end
end

delete link-helper 和其他的有什么区别(因为这是唯一不起作用的)?

【问题讨论】:

  • oorganizer 而不是 organizer?
  • 与stackoverflow.com/questions/4606860/…相同的解决方案
  • @Peter Alfvin 这只是示例代码中的一个错字。
  • @polmiro button_to?由于我有嵌套路由,我需要传递参数来构建路由,不是吗?
  • 是的,但是 button_to 会发出一个 POST 请求,这是使用 @okliv 在他的回答中提到的方法 DELETE 所必需的

标签: ruby-on-rails


【解决方案1】:

link_to - 类似于 GET 请求的助手(默认)

DELETE 方法类似于 POST 方法

所以,你通过 post 方法来获取帮助并接收“奇怪的 url”

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

  • 使用button_to 代替link_to 助手(默认情况下,第一个用于提交表单)

  • use js 正确处理您的链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 2017-02-28
    • 2012-08-21
    • 2020-05-06
    相关资源
    最近更新 更多