[英]Ruby on Rails - Routing - Appropriate situations to use a namespace over a scope?
在我的應用程序中,我有一些導航項目是下拉菜單。 我唯一的限制是下拉菜單中的每個鏈接都應該以其所屬的菜單名稱為前綴的url路徑。 例如:
http://example.com/dropdown1/page1
http://example.com/dropdown1/page2
http://example.com/dropdown1/page3
http://example.com/dropdown2/page4
http://example.com/dropdown3/page5
http://example.com/dropdown3/page6
我知道在為這些頁面創建路線時我有兩個選擇。
每個下拉列表中的頁面具有不同的獨立功能,但下拉列表中的每個功能都共享相同的類別。 命名空間這些功能或僅限定它們是否更有意義?
如果你唯一的限制是,在下拉菜單中每個環節必須有它的URL路徑與它所屬的菜單名稱為前綴 ,那么我的建議是只余地那些下拉路徑的路線 。
命名空間提供了更大程度的開箱即用,並且對於具有管理部分或API層的場景更有用,其中相同的資源根據其命名空間而表現不同。
范圍提供了更多控制,允許您指定應該命名的內容 - 在這種情況下,如果只有路由不同,那么您可以使用以下內容:
scope 'dropdown1' do
# routing here
end
最常見的是,您可以在Admin ::名稱空間下對許多管理控制器進行分組。 您可以將這些控制器放在app / controllers / admin目錄下,然后將它們組合在路由器中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.