我正在尝试在我的网站上创建一些不错的链接。我现在正在通过标签创建搜索,我想知道是否有可能创建这样的好路线:
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 做了一些实验,并且发现在那里不可能避免动作?参数=值构造。我也试图避免地址中的任何“数字东西”,比如在动作之间发送id等等。无论如何,我只是一个初学者而且我完全不知道我应该去哪个方向。
它应该是一些神奇的路线吗?如何将这种魔力应用于我的榜样?我是在经营“配置惯例”范式吗?
答案 0 :(得分:6)
这不应该需要太多“魔力”;这是一种非常标准的路线。你可以这样做(在routes.rb中)
map.tag_search "search/:tags", :controller => "tags", :action => "search"
以上假设您有一个带有搜索操作的标签控制器。在该操作中,您的URL末尾将以params [:tags]。
的形式提供我建议阅读Rails Guide on Routing - 它涵盖了这个场景和许多其他场景。
答案 1 :(得分:6)
Rails 3有更新的语法。
match 'search/:tags' => 'tags#search' :as => 'tag_search'