0

路由.rb

scope :module => :abc do
  namespace :old_namespace do
    resources :posts 
  end
end

如何将 更改old_namespacenew_namespace,以便在我的 URLS 中看到 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但类似于命名空间资源中的 :controller 选项

4

2 回答 2

1

你只需这样做:

scope module: 'abc/OldNamespace' do
  resources :posts, path: 'new_namespace/posts'
end

你在这里说,

  1. 采用abc::OldNamespace
  2. 用作资源new_namespace/posts的 URL 路径posts

这应该也可以,如果不行,让我看看

于 2013-08-22T12:58:02.257 回答
0

这个我用过

namespace :new_namespace,:as => :old_namespace, :module => :old_namespace do

现在正在工作。

于 2013-08-22T12:48:17.660 回答