質問
私は事のブログアプリケーションを持っている、と私は私のルートを短縮したいと思います。ここにあります:
Blog::Application.routes.draw do
resources :categories do
resources :articles do
resources :comments
end
end
A をすくいルートのコマンドのビルド次の行:
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
これは、より多くのDRYだ、それをis't? :)
んのRails 3には、自動的にコントローラのアクションにHTTP動詞のマッピングで、そうする簡単な方法を提供しますか?おかげで誰ます。
解決
浅いネスティングのを見てみましょう。
希望このことができます。
所属していません StackOverflow