2010-03-27 146 views
0

我有一个东西的博客应用程序,我想缩短我的路线。这里有:更短的路线路线

Blog::Application.routes.draw do 
    resources :categories do 
    resources :articles do 
     resources :comments 
    end 
end 

一个耙路线命令构建以下行:

       GET /categories/:category_id/articles/:article_id/comments(.:format)   {:controller=>"comments", :action=>"index"} 
    category_article_comments POST /categories/:category_id/articles/:article_id/comments(.:format)   {:controller=>"comments", :action=>"create"} 
new_category_article_comment GET /categories/:category_id/articles/:article_id/comments/new(.:format)  {:controller=>"comments", :action=>"new"} 
           GET /categories/:category_id/articles/:article_id/comments/:id(.:format)  {:controller=>"comments", :action=>"show"} 
           PUT /categories/:category_id/articles/:article_id/comments/:id(.:format)  {:controller=>"comments", :action=>"update"} 
    category_article_comment DELETE /categories/:category_id/articles/:article_id/comments/:id(.:format)  {:controller=>"comments", :action=>"destroy"} 
edit_category_article_comment GET /categories/:category_id/articles/:article_id/comments/:id/edit(.:format) {:controller=>"comments", :action=>"edit"} 
           GET /categories/:category_id/articles(.:format)        {:controller=>"articles", :action=>"index"} 
      category_articles POST /categories/:category_id/articles(.:format)        {:controller=>"articles", :action=>"create"} 
     new_category_article GET /categories/:category_id/articles/new(.:format)       {:controller=>"articles", :action=>"new"} 
           GET /categories/:category_id/articles/:id(.:format)       {:controller=>"articles", :action=>"show"} 
           PUT /categories/:category_id/articles/:id(.:format)       {:controller=>"articles", :action=>"update"} 
      category_article DELETE /categories/:category_id/articles/:id(.:format)       {:controller=>"articles", :action=>"destroy"} 
     edit_category_article GET /categories/:category_id/articles/:id/edit(.:format)      {:controller=>"articles", :action=>"edit"} 
           GET /categories(.:format)              {:controller=>"categories", :action=>"index"} 
        categories POST /categories(.:format)              {:controller=>"categories", :action=>"create"} 
       new_category GET /categories/new(.:format)             {:controller=>"categories", :action=>"new"} 
           GET /categories/:id(.:format)             {:controller=>"categories", :action=>"show"} 
           PUT /categories/:id(.:format)             {:controller=>"categories", :action=>"update"} 
        category DELETE /categories/:id(.:format)             {:controller=>"categories", :action=>"destroy"} 
       edit_category GET /categories/:id/edit(.:format)           {:controller=>"categories", :action=>"edit"} 

可以看出,每个资源在树上有序。 所以笔者认为,它可能是有趣的,简化我的路线,例如:

/categories/            =>/
/categories/:id           => /:id 
/categories/:category_id/articles/       => /:category_id/articles 
/categories/:category_id/articles/:id      => /:category_id/:id 
/categories/:category_id/articles/:article_id/comments/ => /:category_id/:article_id/comments 
/categories/:category_id/articles/:article_id/comments/:id => /:category_id/:article_id/:id 

它的更干,岂不等于它? :)

是否Rails 3提供了一种简单的方法来实现这一点,并自动将HTTP动态映射到控制器操作?谢谢任何人。

回答

0

看看shallow nesting

希望这会有所帮助。

+0

我认为它解决了我的问题。 谢谢 – 2010-03-27 18:54:32