修改使用Ruby on Rails传递给外部URL表单的参数

时间:2013-04-26 08:24:48

标签: ruby-on-rails forms

我需要在主布局视图中包含一个外部搜索表单,以便在每个页面渲染时显示它。目前,在我的layouts / main.html.erb中,我有:

<div style="float: right";>
<% form_tag url_for("http://search.example.co.uk/search"), {:method => :get} do %>
<%= text_field_tag(:q) %>
<%= select_tag(:category, '<option value="all">All</option> <option value="dogs">Dogs</option> <option value="cats">Cats</option>') %>
<%= hidden_field_tag("site", "Example") %>
<%= hidden_field_tag("btnG", "Search") %>
<%= hidden_field_tag("filter", "0")  %>
<%= hidden_field_tag("proxystylesheet", "std_stylesheet") %>
<%= submit_tag "Search" %>
<% end %>
</div>

这当前有效,并且在呈现主要布局的所有页面的标题中,我有一个文本字段,一个下拉菜单和一个搜索按钮。点击“搜索”按钮后,页面将被定向到包含所有参数的http://search.example.co.uk/search

我需要能够在重定向页面之前修改参数。我需要连接params [:q]和params [:category]并通过重定向传递它。这可能吗?

感谢您的任何帮助/建议。

1 个答案:

答案 0 :(得分:2)

您应该通过将表单提交到可以连接所有结果的操作来执行此操作,然后他们会将您的请求重定向到您指定的URL以及您已处理的参数...