我希望我的搜索表单在提交后返回以下网址:
/ anuncios / buscar / the_text_I_searched
我的表格如下:
<% form_for :announcement, :url => search_path(:txtSearch) do |f| %>
<div class="searchBox" id="basic">
<%= text_field_tag :txtSearch, params[:str_search].blank? ? "Buscá tu curso rápido y fácil." : params[:str_search], :maxlength=> 100, :class => "basicSearch_inputField", :onfocus => "if (this.value=='Buscá tu curso rápido y fácil.') this.value=''", :onblur => "if(this.value=='') { this.value='Buscá tu curso rápido y fácil.'; return false; }" %>
<div class="basicSearch_button">
<input type="submit" value="BUSCAR" class="basicSearch_buttonButton" />
<br /><a href="#" onclick="javascript:jQuery('#advance').modal({opacity:60});">Busqueda avanzada</a>
</div>
</div>
<% end %>
search_path的我的路线'是:
map.search '/anuncios/buscar/:str_search', :controller => 'announcements', :action => 'search'
好吧,如果我在浏览器中手动输入我想要的网址,这将有效,但是当然,如果你查看表单的网址,你会找到一个“:txtSearch”参数,它没有给我实际值提交表单时的文本字段这就是我想要的!
有人可以帮我吗?
答案 0 :(得分:2)
您应该可以在控制器中执行此操作:
def search
...
redirect_to search_path(:str_search => params[:txtSearch])
end
答案 1 :(得分:1)
听起来您需要将表单提交给其他操作,格式化搜索字符串,然后使用新的搜索字符串重定向到您的搜索页面。