Cảm ơn Pascal rất nhiều, điều này thực sự hữu ích đối với tôi. Tôi nhận thấy một hành vi tương tự khi thiết lập tài nguyên lồng nhau của tôi.
Tôi sẽ thêm điều gì đó, tùy chọn sử dụng câu lệnh chặn cho nông thay vì tham số. Ngay bây giờ bằng cách sử dụng cú pháp bạn đã đưa ra, chỉ có hậu duệ trực tiếp (: trang) sẽ cạn.
Nếu có cơ hội nào bạn muốn tổ một mức độ sâu hơn (hãy tạm bỏ qua đối số về việc liệu đây là thông lệ tốt nhất hay không), sử dụng một khối cạn sẽ thực sự nông cạn như sâu khi cần thiết:
resources :users do
shallow do
resources :categories do
resources :sections do
resources :pages
end
end
resources :news
end
end
Dưới đây là ví dụ về những người trợ giúp tuyến đường có sẵn mà bạn sẽ có cho tất cả các tài nguyên được lồng trong: người dùng
new_category_section GET (/:locale)(/:locale)/categorys/:category_id/sections/new(.:format) {:locale=>/fr|en/, :action=>"new", :controller=>"sections"}
edit_section GET (/:locale)(/:locale)/sections/:id/edit(.:format) {:locale=>/fr|en/, :action=>"edit", :controller=>"sections"}
section GET (/:locale)(/:locale)/sections/:id(.:format) {:locale=>/fr|en/, :action=>"show", :controller=>"sections"}
PUT (/:locale)(/:locale)/sections/:id(.:format) {:locale=>/fr|en/, :action=>"update", :controller=>"sections"}
DELETE (/:locale)(/:locale)/sections/:id(.:format) {:locale=>/fr|en/, :action=>"destroy", :controller=>"sections"}
section_pages GET (/:locale)(/:locale)/sections/:section_id/pages(.:format) {:locale=>/fr|en/, :action=>"index", :controller=>"pages"}
POST (/:locale)(/:locale)/sections/:section_id/pages(.:format) {:locale=>/fr|en/, :action=>"create", :controller=>"pages"}
new_section_info_page GET (/:locale)(/:locale)/sections/:section_id/pages/new(.:format) {:locale=>/fr|en/, :action=>"new", :controller=>"pages"}
dit_info_page GET (/:locale)(/:locale)/pages/:id/edit(.:format) {:locale=>/fr|en/, :action=>"edit", :controller=>"pages"}
info_page GET (/:locale)(/:locale)/pages/:id(.:format) {:locale=>/fr|en/, :action=>"show", :controller=>"pages"}
PUT (/:locale)(/:locale)/pages/:id(.:format) {:locale=>/fr|en/, :action=>"update", :controller=>"pages"}
DELETE (/:locale)(/:locale)/pages/:id(.:format) {:locale=>/fr|en/, :action=>"destroy", :controller=>"pages"}
Cái nhìn sâu sắc thú vị Olivier. Cảm ơn! –
Cảm ơn, Olivier, về mẹo "nông cạn" của bạn! Đó chỉ là những gì tôi đang tìm kiếm ... – jgpawletko