Ruby on rails 3 如何使用ActiveAdmin创建名为Admin的模型?
我曾尝试将ActiveAdmin安装到一个已经有管理模型*的rails应用程序中,并且一切正常,直到我尝试运行任何需要访问管理类的代码(例如,运行规范,或运行rails服务器)——然后它失败了,好像问题出在我的管理类上:Ruby on rails 3 如何使用ActiveAdmin创建名为Admin的模型?,ruby-on-rails-3,activeadmin,Ruby On Rails 3,Activeadmin,我曾尝试将ActiveAdmin安装到一个已经有管理模型*的rails应用程序中,并且一切正常,直到我尝试运行任何需要访问管理类的代码(例如,运行规范,或运行rails服务器)——然后它失败了,好像问题出在我的管理类上: foo/app/models/admin.rb:1:in `<top (required)>': Admin is not a class (TypeError) from bar/.rvm/gems/ruby-1.9.2-p320/gems/activesuppo
foo/app/models/admin.rb:1:in `<top (required)>': Admin is not a class (TypeError)
from bar/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
如何让ActiveAdmin与名为Admin的模型(或其他类)共存我花了一段时间才解决这个问题(在以前的一个项目中,我放弃了,刚刚重命名了模型) 已经提出了一些补丁,但实际上有一个非常好的配置选项可以解决这一问题: 在
config/initializers/active_admin.rb
处编辑初始值设定项,使默认的_名称空间不同(您可以使用config.default_namespace=false跳过默认的_名称空间,但我还没有尝试过)
我为此选择了管理界面:
config.default_namespace = :admin_ui
这可能有更微妙的地方,所以你可以(如果你愿意的话)保留/admin/route而不是admin\u ui,但这对我来说已经足够好了——关于这方面的官方文档在,但不要提及更改名称空间的原因。我花了一段时间才解决这个问题(在以前的一个项目中,我放弃了,刚刚重命名了模型)
已经提出了一些补丁,但实际上有一个非常好的配置选项可以解决这一问题:
在config/initializers/active_admin.rb
处编辑初始值设定项,使默认的_名称空间不同(您可以使用config.default_namespace=false跳过默认的_名称空间,但我还没有尝试过)
我为此选择了管理界面:
config.default_namespace = :admin_ui
这可能有更微妙的地方,所以你可以(如果你愿意的话)保留/admin/route而不是admin\u ui,但这对我来说已经足够好了——关于这方面的官方文档在,但不要提及更改名称空间的原因