我想我的搜索形式返回以下網址提交後:經過查找的字符串簡單的搜索打通
/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」參數,這是不給我實際提交表單時文本字段的值。這就是我想要得到的!
有人能幫助我嗎?
This works。現在我有一個問題...我注意到,如果查詢字符串參數爲空,讓我們說我輸入「/ anuncios/buscar」(沒有任何字符串搜索)它會引發錯誤,因爲它找不到要執行的動作。我能做些什麼來捕捉這個動作?(如果沒有在url中指定要搜索的字符串,我想顯示所有的通告)。 – 2010-06-15 15:00:41
檢查'params [:txtSearch] .blank?'並渲染包含搜索表單的頁面(如果是),否則請執行重定向。 – 2010-06-15 15:11:37