的routes.rb
scope :module => :abc do
namespace :old_namespace do
resources :posts
end
end
如何将old_namespace
更改为new_namespace
,以便在我的URL中我应该看到new_namespace。我有太多的观点,我使用以前的路线与* _path和* _url方法。我现在不想改变它们。是否有任何Rails方法可以做到这一点。
我尝试过的事情,
scope :module => :abc do
namespace :new_namespace,:as => :old_namespace do
resources :posts
end
end
这给了我需要的URL的更改但是,给了我和错误
uninitialized constant Abc:NewNamespace
这是期望我有Abc:NewNamespace
,虽然我希望这个使用旧常量,Abc:OldNamespace
,Something Similiar:命名空间资源中的controller选项
答案 0 :(得分:1)
你只需这样做:
scope module: 'abc/OldNamespace' do
resources :posts, path: 'new_namespace/posts'
end
你在这里说,
abc::OldNamespace
new_namespace/posts
作为posts
资源的网址路径。 这也应该有效,如果不是这样的话,请允许我
答案 1 :(得分:0)
我用过这个,
namespace :new_namespace,:as => :old_namespace, :module => :old_namespace do
现在正在运作。