2009-07-24 107 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'