【问题标题】:Changing HTTP method to POST with link_to使用 link_to 将 HTTP 方法更改为 POST
【发布时间】:2011-11-04 19:51:33
【问题描述】:

我在这里使用的是 Rails 3.1,在我看来,我有以下代码:

   <%= link_to "again!", main_pick_path,{:method => :post, :var => @var}  %>

这个想法是创建一个链接(不是按钮),当单击该链接时,会调用主控制器的选择操作,通过 POST 请求在参数中传递 @var 的值。

此代码在我的浏览器中生成以下 HTML:

   a href="/main/pick" data-method="post" rel="nofollow" var="foo">again!</a>

但是,当我单击链接时,我仍在发送 GET 请求。这是我的浏览器 Chrome 的限制吗?从设计的角度来看,我是否应该使用 GET 请求并将变量放入 URL 中?超链接是否根本无法使用 POST 方法?死后还有生命吗?

提前致谢

【问题讨论】:

    标签: ruby-on-rails-3 http


    【解决方案1】:

    您只能使用 AJAX 或触发 FORM 来执行此操作。标签 A 不能“单独”进行 POST。

    【讨论】:

    • 我明白了。我不确定这是否是最好的方法,但我最终使用了 form_tag,然后使用 hidden_​​field_tag 将变量放入 params,并使用 button_to 创建提交按钮:gist.github.com/1340379 感谢您的帮助 =)
    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 2011-08-14
    • 1970-01-01
    • 2016-02-25
    • 2014-08-30
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    相关资源
    最近更新 更多