在我最新的網站我有這樣定義的搜索表單路線要得到像網址:Rails的相關搜索表單
http://www.mysite.com/search/[the_termn_that_was_typed]
所以,當我正在尋找「吸血鬼」的例子,我應該得到:
http://www.mysite.com/search/vampire
這一個的任何線索?
謝謝了很多,
在我最新的網站我有這樣定義的搜索表單路線要得到像網址:Rails的相關搜索表單
http://www.mysite.com/search/[the_termn_that_was_typed]
所以,當我正在尋找「吸血鬼」的例子,我應該得到:
http://www.mysite.com/search/vampire
這一個的任何線索?
謝謝了很多,
我認爲這樣做的RESTful方式是使發佈的請求重定向,以獲取您想要的構造url的請求。
這裏有兩條路線
resources :articles do
collection do
get :search, :action => 'search_post', :as => 'search_post'
get 'search/:q', :action => 'search', :as => 'search'
end
end
現在,在控制器重定向POST請求得到請求
def search_post
redirect_to search_articles_path(params[:q])
end
由於提交表單用戶的結果,在URL結束
http://www.mysite.com/articles/search/vampire
如果我需要使用兩個參數,我該如何使用它? – 2016-11-22 07:30:39
我不認爲你可以直接使用表單時解決此得到的,因爲這是參數是如何提交。儘管你可以用一點javascript來做。我會提供一個我覺得有點笨重的解決方案,你可以決定它是否值得。
首先,JS(使用jQuery):
$(".search_submit").click(function(){
var button = $(this);
var form = button.closest("form");
var action = form.attr("action");
var text_field = form.find(".search_text");
var value = text_field.val();
window.location = action + "/" + value;
return false;
});
然後您的視圖代碼將只需要添加相應的類:
= form_tag search_path(:termen), :method => :get do
= text_field_tag :termen, params[:termen], :class => "search_text"
= submit_tag "Search »", :class => "search_submit"
希望有所幫助。
我做認爲我會在搜索字符串上需要一些編碼,謝謝 – Calin 2012-04-09 07:13:49
不工作?你有什麼? – 2012-04-08 16:39:51
直接去url的作品,但按搜索得到我的http://www.mysite.com/search?utf8=%E2%9C%93&termen=vampire&commit=Search%C4%83+%C2%BB – Calin 2012-04-08 17:12:01