2013-04-17 22 views
2

我想主动联系添加到已拥有定制的CMS和管理模型,住在路/admin一个Rails应用程序,并且已经使用了色器件的宝石,但是当我尝试运行之后rake db:migraterails g active_admin:install,我得到这个错误:如何在“/ admin”以外的地方安装Active Admin?

/usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/namespace.rb:227:in `eval': Admin is not a module (TypeError) 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/namespace.rb:227:in `eval' 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/namespace.rb:227:in `register_module' 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/namespace.rb:41:in `initialize' 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/application.rb:142:in `new' 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/application.rb:142:in `namespace' 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin/application.rb:128:in `register' 
from /usr/local/rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/activeadmin-0.6.0/lib/active_admin.rb:79:in `register' 

我知道这是可以设置的初始默认名称空间的安装造成的,但我想知道是否有通过我选择在与install命令的选项的默认命名空间的方式?

在此先感谢!

+0

的可能重复[Rails的3 - 主动\ _admin可以使用现有的用户模式?(http://stackoverflow.com/questions/8360787/rails-3-can-active-admin-use-an-existing-用户模型) – givanse

回答

1

OK - 终于想通了:

我不停地创建active_admin.rb初始化,当我跑活动管理员安装命令的第一时间,并删除它创造了所有其他文件。然后我加入这行来初始化:

config.default_namespace = :my_custom_admin_namespace 

就跑了重新安装,跳过设计用户类(如建议here),像这样:

rails g active_admin:install --skip-users 

我跑我的迁移,和我然后可以访问myapp.co.uk/my_custom_admin_namespace。起初,我没有看到关于验证用户身份未知方法错误(这是有道理的给我跳过创建用户类),所以我注释掉在初始化以下两行:

config.authentication_method = :authenticate_admin_user! 
config.current_user_method = :current_admin_user 

,现在我可以请参阅仪表板。这不是一个理想的设置,因为它缺乏用户类和任何认证,但这是一个开始。

+0

这似乎是绕过这个问题的唯一途径,但如果ActiveAdmin无法成功安装,如果'/ admin'命名空间已经存在的第一次,应该不是很可能运行在第一次安装用一个标志来改变命名空间并避免这个问题? – sixty4bit