2010-03-27 174 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