Ruby on rails 使用GET和POST提交表单和超链接

Ruby on rails 使用GET和POST提交表单和超链接,ruby-on-rails,forms,post,routing,get,Ruby On Rails,Forms,Post,Routing,Get,我有一个搜索资源,用户可以通过填写表单并提交表单来执行搜索,调用创建操作,保存搜索,调用显示操作,并显示结果。这一切都发生在默认的POST中,并且一切正常 用户可能希望将其搜索保存在保存的搜索表中(我不使用搜索表,因为此表存储所有搜索是为了编译统计数据,并定期清除)。保存搜索后,可以通过单击超链接重新运行搜索,这就是我开始遇到问题的地方 我看不到任何方法可以让我的超链接运行搜索的创建操作、POST请求和必要的数据 然后,我决定尝试获取表单提交和超链接以使用get请求执行搜索,我无法获取表单以使用

我有一个搜索资源,用户可以通过填写表单并提交表单来执行搜索,调用创建操作,保存搜索,调用显示操作,并显示结果。这一切都发生在默认的POST中,并且一切正常

用户可能希望将其搜索保存在保存的搜索表中(我不使用搜索表,因为此表存储所有搜索是为了编译统计数据,并定期清除)。保存搜索后,可以通过单击超链接重新运行搜索,这就是我开始遇到问题的地方

我看不到任何方法可以让我的超链接运行搜索的创建操作、POST请求和必要的数据

然后,我决定尝试获取表单提交和超链接以使用get请求执行搜索,我无法获取表单以使用get请求运行搜索创建操作,它似乎总是被路由到我的索引操作

有人能为这个问题提出一个很好的解决方案吗

非常感谢

乔恩, 如果我理解正确,如果搜索已经保存,您可以像第一次一样获取保存的搜索的资源,并使用“显示”操作显示结果

无论如何,如果您仍然希望使用链接发布帖子,那么帮助器方法link\u将为您完成此操作。过来看:

使用:method=>:post选项,它将创建一个隐藏表单并发布数据


希望能有帮助。

我不太清楚你在这里想做什么。如果希望表单提交时包含GET请求,则可以覆盖表单\u for helper上的HTML属性:

<% form_for blarg, :html => { :method => 'get' } %>
blabla
<% end %>
{:method=>'get'}%>
布拉布拉
Rails还支持通过使用“magic”参数(称为“_方法”)来“伪造”HTTP方法,这使得Rails的行为就像在该参数中看到HTTP方法一样

如果以“get”的形式发送表单,则必须确保未设置此类参数。如果你想让一个超链接发送一个“帖子”,调整一下这个方法(浏览器不会通过点击链接发送真正的帖子)