2009-07-24 83 views
0

我正嘗試在我的網站上創建一些不錯的鏈接。我創建通過標籤搜索剛纔,我不知道是否有可能創造一些不錯的路線是這樣的:Rails中的自定義路由

http://myapp.com/search/a_very 
http://myapp.com/search/nice_set 
http://myapp.com/search/of_tags 

,或者至少是這樣的:

http://myapp.com/articles/search/a_very 
http://myapp.com/articles/search/nice_set 
http://myapp.com/articles/search/of_tags 

我已經做了一些link_for的實驗,並發現無法避免採取行動?參數=價值構造。我也試圖避免地址中的任何'數字東西',比如在動作之間發送ids等等。無論如何,我只是一個初學者,我完全不知道我應該向哪個方向發掘。

它應該是一些神奇的路線嗎?如何將這個魔術應用於我的例子?我是否在討論'配置'範式的約定?

回答

6

這不應該需要太多的「魔法」;這是一種非常標準的路線。你可以這樣做(在routes.rb中)

map.tag_search "search/:tags", :controller => "tags", :action => "search" 

上面假設你有一個帶有搜索動作的標籤控制器。在該動作中,您的URL的結尾將以params [:tags]形式提供。

我建議您閱讀Rails Guide on Routing - 它涵蓋了這個場景以及其他許多方面。

+0

哇,謝謝!不太明白我是如何錯過那個指南的... – gmile 2009-07-24 18:45:40

6

Rails 3具有更新的語法。

match 'search/:tags' => 'tags#search' :as => 'tag_search'