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