2
我想了一天來解決這一個...:name_prefix不影響對命名空間路由
移動從梁2至3軌的應用程序什麼的,我遇到了一些問題與途徑。
我想在'namespace'方法中使用:name_prefix選項。我可以這樣做嗎?
我試着用'範圍'選項獲得相同的結果,但仍然死路一條。
下面是一個示例代碼和路由它產生:
namespace :blog, :name_prefix => 'admin_' do
resources :contexts
end
scope :module => 'blog', :path_name_prefix => 'admin_' do
resources :contexts
end
耙路線:
blog_contexts GET /blog/contexts(.:format) blog/contexts#index {:name_prefix=>"admin_"}
POST /blog/contexts(.:format) blog/contexts#create {:name_prefix=>"admin_"} new_blog_context GET /blog/contexts/new(.:format) blog/contexts#new {:name_prefix=>"admin_"} edit_blog_context GET /blog/contexts/:id/edit(.:format) blog/contexts#edit {:name_prefix=>"admin_"}
blog_context GET /blog/contexts/:id(.:format) blog/contexts#show {:name_prefix=>"admin_"}
PUT /blog/contexts/:id(.:format) blog/contexts#update {:name_prefix=>"admin_"}
DELETE /blog/contexts/:id(.:format) blog/contexts#destroy {:name_prefix=>"admin_"}
contexts GET /contexts(.:format) blog/contexts#index {:path_name_prefix=>"admin_"}
POST /contexts(.:format) blog/contexts#create {:path_name_prefix=>"admin_"} new_context GET
/contexts/new(.:format) blog/contexts#new {:path_name_prefix=>"admin_"} edit_context GET /contexts/:id/edit(.:format) blog/contexts#edit {:path_name_prefix=>"admin_"} context GET /contexts/:id(.:format) blog/contexts#show {:path_name_prefix=>"admin_"}
PUT /contexts/:id(.:format) blog/contexts#update {:path_name_prefix=>"admin_"}
DELETE /contexts/:id(.:format) blog/contexts#destroy {:path_name_prefix=>"admin_"}
很難注意到其中的差別,但命名空間方法將其名稱(1)的路徑名,(2)路徑本身 - 您在瀏覽器中看到的內容,以及(3)作爲控制器前綴。
範圍方法只添加一個控制器前綴。
正如你所看到的:name_prefix不影響路徑名中的任何內容 - 我缺少什麼?
確實,:name_prefix似乎不推薦使用。 – 2013-11-29 00:01:42