Rails路由:问题除外

Jon*_*Jon 2 routes ruby-on-rails except

我正在尝试创建一个简单的博客,其中有一个帖子控制器路由到根URL而不是localhost/posts /:id.

我在路线文件中添加了以下内容......

match '/:id', :to => 'posts#show', :as => 'post'
Run Code Online (Sandbox Code Playgroud)

哪个效果不错.它已经打破了我的搜索路线.

match 'search/:q', :to => 'posts#query', :as => 'search'
Run Code Online (Sandbox Code Playgroud)

看起来rails试图找到一个带有我的搜索查询ID的帖子.是否有一种方法可以执行类似以下操作的方法来获取路径文件,以便在根网址为帖子ID之后假设所有内容执行任何以"搜索"开头的内容?

match '/:id', :to => 'posts#show', :as => 'post', :except => 'search'
Run Code Online (Sandbox Code Playgroud)

Dyl*_*kow 5

Rails从上到下解析你的路线,并在第一场比赛时停止.我会把你的match '/:id'...线放在你所有其他路线下面.