ví dụ luôn giúp tôi, vì vậy đây là một ví dụ:
namespace :blog do
resources :contexts
end
sẽ cho chúng ta các tuyến đường sau:
blog_contexts GET /blog/contexts(.:format) {:action=>"index", :controller=>"blog/contexts"}
POST /blog/contexts(.:format) {:action=>"create", :controller=>"blog/contexts"}
new_blog_context GET /blog/contexts/new(.:format) {:action=>"new", :controller=>"blog/contexts"}
edit_blog_context GET /blog/contexts/:id/edit(.:format) {:action=>"edit", :controller=>"blog/contexts"}
blog_context GET /blog/contexts/:id(.:format) {:action=>"show", :controller=>"blog/contexts"}
PUT /blog/contexts/:id(.:format) {:action=>"update", :controller=>"blog/contexts"}
DELETE /blog/contexts/:id(.:format) {:action=>"destroy", :controller=>"blog/contexts"}
sử dụng phạm vi ...
scope :module => 'blog' do
resources :contexts
end
Sẽ cung cấp chúng tôi:
contexts GET /contexts(.:format) {:action=>"index", :controller=>"blog/contexts"}
POST /contexts(.:format) {:action=>"create", :controller=>"blog/contexts"}
new_context GET /contexts/new(.:format) {:action=>"new", :controller=>"blog/contexts"}
edit_context GET /contexts/:id/edit(.:format) {:action=>"edit", :controller=>"blog/contexts"}
context GET /contexts/:id(.:format) {:action=>"show", :controller=>"blog/contexts"}
PUT /contexts/:id(.:format) {:action=>"update", :controller=>"blog/contexts"}
DELETE /contexts/:id(.:format) {:action=>"destroy", :controller=>"blog/contexts"}
Dưới đây là một số đọc tốt về đề tài này: "Phạm vi không gian tên sẽ tự động thêm :as
cũng như :module
và :path
tiền tố" http://edgeguides.rubyonrails.org/routing.html#controller-namespaces-and-routing
bởi đường dẫn u có nghĩa là tên người trợ giúp phải không? tôi không hiểu chức năng của phạm vi. những gì hiện nó (: module => "admin") làm gì nếu không có gì thay đổi? –
Nó thay đổi đường dẫn thực tế được sử dụng bởi các đường dẫn đến "/ admin/anything", giống như không gian tên. Sự khác biệt duy nhất là tiền tố được thêm vào các phương thức trợ giúp. – alternative
Để hiểu rõ hơn sự khác biệt: hãy xem xét sử dụng phạm vi cho bản địa hóa thông qua URL và không gian tên để lồng nhau, ví dụ: url: http: //domain.com/nl/admin/panel. Các nl là một phạm vi, và admin là một không gian tên. – Valentin