2011-06-05 50 views
2

我试图做一个简单的博客与职位控制器路由到根url而不是localhost/posts /:id。轨道路线:除了问题

添加以下到我的路线文件...

match '/:id', :to => 'posts#show', :as => 'post' 

这已经足够好了。它已经打破了我的搜索路线。

match 'search/:q', :to => 'posts#query', :as => 'search' 

它看起来像rails试图找到一个与我的搜索查询ID的职位。有没有办法像下面这样让路由文件在根url是post id之后假设所有东西EXECPT任何以'search'开头的东西?

match '/:id', :to => 'posts#show', :as => 'post', :except => 'search' 

回答

5

Rails自上而下解析您的路线并在第一场比赛中停止。我会把你的match '/:id'...线放在你所有其他路线的下面。