gpt4 book ai didi

ruby-on-rails - Rails 4 : link_to submit form using ajax, 如何模仿post请求?

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:03 25 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我希望用户能够通过执行 ajax 请求并将项目 ID 添加到数据库来隐藏墙上的任何内容。

下面是我要模仿的请求:

Started POST "/report_fixed_vulns" for 127.0.0.1 at 2013-08-19 21:28:45 +0100
Processing by ReportFixedVulnsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxx", "report_fixed_vuln"=>{"report_id"=>"2", "vuln_id"=>"2", "user_id"=>"2"}, "commit"=>"Create Report fixed vuln"}

我尝试使用以下代码来执行此操作。

<%= button_to 'Submit', report_fixed_vuln_path(:report_fixed_vuln => {:report_id => @report_id, :vuln_id => plugin.first.id, :user_id => current_user.id}), :remote => true, :method => :put %>

但是这会产生不同的请求:

Started PUT "/report_fixed_vulns/323?report_fixed_vuln%5Breport_id%5D=323&report_fixed_vuln%5Buser_id%5D=1&report_fixed_vuln%5Bvuln_id%5D=443" for 127.0.0.1 at 2013-08-19 21:32:51 +0100
Processing by ReportFixedVulnsController#update as JS
Parameters: {"authenticity_token"=>"xxx", "report_fixed_vuln"=>{"report_id"=>"323", "user_id"=>"1", "vuln_id"=>"443"}, "id"=>"323"}

这是我的问题:如何使用 button_to 模仿第一个请求(不需要输入参数——它们已经在页面上了)

最佳答案

你应该引用这个路由指南:

http://guides.rubyonrails.org/routing.html

它说创建方法的助手是:

POST    /admin/posts    create  admin_posts_path

因此,您应该使用具有相同参数但带有 method: :post(PUT 用于更新)的助手 report_fixed_vulns_path(注意复数),在你的情况:

<%= button_to 'Submit', report_fixed_vulns_path(:blabla => hash), :remote => true, :method => :post %>

如果你想在点击后立即隐藏按钮,你可以添加一个onclick事件:(jQuery)

<%= button_to 'Submit', report_fixed_vulns_path(:blabla => hash), :remote => true, :method => :post, :onclick => '$(this).hide();' %>

关于ruby-on-rails - Rails 4 : link_to submit form using ajax, 如何模仿post请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18322637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com