2011-02-14 42 views
0

假设我们有一个简单的资源名为消息:如何在Rails中进行路由?

resources :news 

生成的路径以这种形式/news/:id。我想通过删除/ news /来为此提供一个快捷方式,以便/ 1 /进入新闻#show,id为1,对于新闻的所有其他足智多谋的行为也是如此。

我想它可能是沿着

match '/:id(/:action)', :controller => 'news' 

线的东西,但是这是行不通的。

回答

2

要更改对资源利用的路径:路径=>

resources :news, :path => "/" 
+2

Cooooooooool。你让我很开心。在这里,有一个虚拟的啤酒。 – randomguy 2011-02-14 03:00:57

0

试试这个在你的路由的最底部文件:

match ':id', :to => "news#show" 
0

在底部放置一个定制的路由你routes.rb应该工作,这将给它最低优先级,并允许有效路线首先工作:

match '/:id', :to => 'news#show' 

它是重要的是要注意,这基本上将任何先前未捕获到的内容作为实际静态文件存储到该控制器/操作。如果新闻记录不存在,您将需要确保您呈现404错误页面。