Brevi percorsi Rotaie
-
22-09-2019 - |
Domanda
Ho un'applicazione blog cosa, e vorrei accorciare miei percorsi. Qui ci sono:
Blog::Application.routes.draw do
resources :categories do
resources :articles do
resources :comments
end
end
A percorsi rastrello il comando a costruire le seguenti righe:
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"}
Come si può vedere, ogni risorsa è ordinato in un albero. Quindi credo che, si potrebbe essere interessante per semplificare le mie vie come ad esempio:
/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
E 'più SECCO, is't vero? :)
La Rails 3 fornisce un modo semplice per farlo, con una mappatura verbi HTTP al controllore automaticamente le azioni? Grazie a chiunque.
Soluzione
Date un'occhiata a superficiale nidificazione .
Spero che questo aiuti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow