简单的搜索表单通过GET传递搜索的字符串

时间:2010-06-15 14:11:46

标签: ruby-on-rails

我希望我的搜索表单在提交后返回以下网址:

  

/ 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&aacute; tu curso r&aacute;pido y f&aacute;cil." : params[:str_search], :maxlength=> 100, :class => "basicSearch_inputField", :onfocus => "if (this.value=='Busc&aacute; tu curso r&aacute;pido y f&aacute;cil.') this.value=''", :onblur => "if(this.value=='') { this.value='Busc&aacute; tu curso r&aacute;pido y f&aacute;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”参数,它没有给我实际值提交表单时的文本字段这就是我想要的!

有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

您应该可以在控制器中执行此操作:

def search
  ...
  redirect_to search_path(:str_search => params[:txtSearch])
end

答案 1 :(得分:1)

听起来您需要将表单提交给其他操作,格式化搜索字符串,然后使用新的搜索字符串重定向到您的搜索页面。