【问题标题】:invoke a HTTP delete method, using RoR使用 RoR 调用 HTTP 删除方法
【发布时间】:2012-03-17 01:07:20
【问题描述】:

我正在尝试实现来自用户的 HTTP 删除请求。所以我在我的 HTML 文件中得到了这个,

<li><a href="/signout">Logout</a></li>

但在我的路线文件中,我得到了这个:

match '/signout', to: 'sessions#destroy', via: :delete

而destroy定义为:

  def destroy
    sign_out
    redirect_to root_path
  end

如果我删除“通过:删除”似乎工作正常。但是如何使用 HTML 调用 DELETE 方法?

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案1】:

    如果您为 jquery 或 [其他 js 库] 使用不显眼的 rails 插件,这样做很容易。

    <li><%= link_to "Logout", '/signout', method: :delete %></li>
    

    这可以通过使用as: :signout 命名路由来变得更漂亮,允许您使用signout_path 作为url 助手。

    https://github.com/rails/jquery-ujs

    【讨论】:

      【解决方案2】:

      Is it possible to trigger an HTTP DELETE request from an HTML form?

      基本上你需要通过XMLHttpRequest来完成。

      【讨论】:

      • ruby.railstutorial.org,我正在关注本教程,这就是为什么我想知道为什么这些家伙选择写“via:delete”
      猜你喜欢
      • 2012-04-08
      • 2016-11-17
      • 2012-08-31
      • 1970-01-01
      • 2015-06-20
      • 2020-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      相关资源
      最近更新 更多