发送查询字符串参数作为表单帖子的一部分
问题描述:
有没有办法捕获查询字符串并将其作为表单帖子的一部分发送?我使用Rails 2.3.5,我的用户在一个拥有多个查询字符串参数的页面上。在此页面上,他们将提交一份表格。在接收帖子的动作中,我想知道那些查询字符串参数是什么。显然,它们不是作为帖子的一部分发送的。所以我需要实际的表单值,加上用户提交表单时页面上的查询字符串参数。发送查询字符串参数作为表单帖子的一部分
我敢肯定,我可以写一些讨厌的JavaScript,将查询字符串推到窗体上隐藏的字段,所以他们将可用,但这似乎是丑陋的。我的谷歌搜索没有太多,这让我想知道我是否只是在全力以赴。更糟糕的是,我是Rails的新手。
欣赏任何指针或想法让我走向正确的方向。
答
我的一个朋友告诉我什么,我相信这是一个简单的方法:
<% form_tag params.merge(:action=>"someAction") do %>
合并PARAMS到必要作出的form_tag奏效了完美的哈希值。
答
首选的方法是使用隐藏字段。我还没有尝试过,但我认为你可以在*_path
或*_url
助手中指定附加的查询字符串参数。喜欢的东西:
<% form_for(@post,
:url => post_path(@post, :foo => 'foo', :bar => 'bar')) do |f| %>
...
<% end %>
+0
什么会做,如果我想用这个共享的形式编辑和创建行动? – Stiig 2016-09-22 11:58:43
答
<% form_tag params.merge(:action=>"someAction") do %>
- 无路由匹配[POST]
是的,这是更好的,因为它实际上创建url查询字符串 – jpwynn 2012-07-28 22:08:39
请注意:浏览器会忽略GET请求的查询字符串,在这种情况下,您将不得不为每个输入创建隐藏字段。 – fny 2013-02-07 06:39:05
澄清@faraz的声明:浏览器在使用GET方法提交的表单中忽略** action ** URL中的查询字符串 – 2013-05-23 18:48:36