Question

J'ai des problèmes avec les espaces de noms dans ActiveAdmin. Si j'ajouter des paramètres config à un espace de noms dans le initialiseur je surprends une longue liste d'exceptions lors d'une tentative de démarrage de webrick.

J'ai la structure suivante:

▾ app/
  ▾ admin/
      agents.rb
      dashboards.rb
  ▾ agency/
      agents.rb
      dashboards.rb

Je ne vois pas un moyen de définir un espace de noms dans les tableaux de bord afin de maintenant ils sont tous deux essentiellement:

ActiveAdmin::Dashboards.build do
end

Les agents ont les déclarations suivantes:

ActiveAdmin.register Agent, :namespace=>:agency_admin do

et

ActiveAdmin.register Agent, :namespace=>:admin do

Cela fonctionne tout va bien avec une configuration par défaut. Je peux tirer vers le haut / agency_admin / ou agents / admin / agents très bien. Cependant, dès que j'ajouter une configuration telle que ce qui vient a commenté comme un exemple dans le initialiseur:

   config.namespace :admin do |admin|
     admin.site_title = "Custom Admin Title"
   end

je reçois le courant d'exception fixé lors du démarrage du serveur. Je vous remercie / toute aide à ce sujet.

En aparté, la raison pour laquelle je fais est de fournir différentes méthodes CONCEVOIR par espace de noms. D'après ce que je pourrais dire à la source, il est possible de le faire (au moins ce qui est le maître actuel) comme les obtient de base_controller que les informations de l'espace de noms. Je me rends compte que beaucoup de gens vous recommandons d'utiliser CanCan mais ce n'est pas quelque chose que je veux, ni ne peux, faire à ce stade.

Merci encore à l'avance!

/Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/namespace.rb:191:in `eval': undefined method `devise' for #<Class:0x000001063e9188> (NoMethodError)
  from /Users/chance/code/rails/nokr/app/models/user.rb:36:in `<class:User>'
  from /Users/chance/code/rails/nokr/app/models/user.rb:1:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:456:in `load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:456:in `block in load_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:455:in `load_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:342:in `require_or_load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:489:in `load_missing_constant'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:181:in `block in const_missing'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:in `each'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:in `const_missing'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/module.rb:36:in `const_missing'
  from /Users/chance/code/rails/nokr/app/helpers/user/addresses_helper.rb:1:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:456:in `load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:456:in `block in load_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:455:in `load_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:342:in `require_or_load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:302:in `depend_on'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:214:in `require_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/abstract_controller/helpers.rb:135:in `block in modules_for_helpers'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/abstract_controller/helpers.rb:131:in `map!'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/abstract_controller/helpers.rb:131:in `modules_for_helpers'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/action_controller/metal/helpers.rb:89:in `modules_for_helpers'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/abstract_controller/helpers.rb:95:in `helper'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/action_controller/railties/paths.rb:17:in `block (2 levels) in with'
  from /Users/chance/code/rails/nokr/app/controllers/application_controller.rb:1:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:456:in `load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:456:in `block in load_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:455:in `load_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:342:in `require_or_load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:489:in `load_missing_constant'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:181:in `block in const_missing'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:in `each'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:in `const_missing'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/module.rb:36:in `const_missing'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/inherited_resources-1.2.2/lib/inherited_resources/base.rb:14:in `<module:InheritedResources>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/inherited_resources-1.2.2/lib/inherited_resources/base.rb:4:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/base_controller/menu.rb:2:in `<module:ActiveAdmin>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/base_controller/menu.rb:1:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/base_controller.rb:2:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/resource_controller/actions.rb:2:in `<module:ActiveAdmin>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/resource_controller/actions.rb:1:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/resource_controller.rb:2:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/dashboards/dashboard_controller.rb:3:in `<module:Dashboards>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/dashboards/dashboard_controller.rb:2:in `<module:ActiveAdmin>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/dashboards/dashboard_controller.rb:1:in `<top (required)>'
  from (eval):1:in `generate_dashboard_controller'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/namespace.rb:191:in `eval'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/namespace.rb:191:in `generate_dashboard_controller'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/namespace.rb:43:in `initialize'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/application.rb:110:in `new'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin/application.rb:110:in `find_or_create_namespace'
  from /Users/chance/code/rails/nokr/config/initializers/active_admin.rb:39:in `block in <top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/active_admin-bbdbadafe5d7/lib/active_admin.rb:70:in `setup'
  from /Users/chance/code/rails/nokr/config/initializers/active_admin.rb:1:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `block in load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:556:in `block (2 levels) in <class:Engine>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:555:in `each'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:555:in `block in <class:Engine>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `instance_exec'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `run'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/initializable.rb:55:in `block in run_initializers'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `each'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `run_initializers'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application.rb:96:in `initialize!'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
  from /Users/chance/code/rails/nokr/config/environment.rb:5:in `<top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
  from /Users/chance/code/rails/nokr/config.ru:4:in `block in <main>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/builder.rb:51:in `instance_eval'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/builder.rb:51:in `initialize'
  from /Users/chance/code/rails/nokr/config.ru:1:in `new'
  from /Users/chance/code/rails/nokr/config.ru:1:in `<main>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/builder.rb:40:in `eval'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/builder.rb:40:in `parse_file'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/server.rb:200:in `app'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands/server.rb:46:in `app'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/server.rb:301:in `wrapped_app'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/rack-1.3.3/lib/rack/server.rb:252:in `start'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands/server.rb:70:in `start'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands.rb:54:in `block in <top (required)>'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands.rb:49:in `tap'
  from /Users/chance/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands.rb:49:in `<top (required)>'
  from script/rails:6:in `require'
Était-ce utile?

La solution

avéré être un ordre d'émission op sur les initialiseurs. Rails charges initializers basé sur l'ordre alphabétique plutôt que petit bijou decleration (qui est ce que j'avais pensé à l'origine).

Pour une raison quelconque, une fois que j'introduit des options de configuration, il a été une tentative de chargement / analyse de l'objet utilisateur (un modèle DEVISE qui n'a pas été un admin_user) et en soufflant comme Devise n'a pas encore été initialisé.

Changement initializers / active_admin.rb à initializers / x_active_admin.rb résolu ce problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top