2014-07-20 3 views
2

J'utilise ActsAsTenant, et je continue d'obtenir l'erreur ci-dessous sur n'importe quelle route Devise (c'est-à-dire n'importe quel contrôleur Devise). Il semble que Devise essaie d'obtenir le current_user ou quelque chose à faire avec l'obtention d'un utilisateur avant que le locataire ait été défini, ainsi ActsAsTenant déclenche une erreur. J'ai essayé d'utiliser un prepend_before_action pour définir le locataire, mais cela n'a pas fonctionné. Comment puis-je m'assurer que le locataire est défini avant que Devise ne commence à chercher l'utilisateur actuel?Devise et ActsAsTenant ne jouent pas bien ensemble

ActsAsTenant :: :: Erreurs NoTenantSet à modifier/ ActsAsTenant :: Erreurs :: NoTenantSet

block in User.acts_as_tenant 
() home/lee/.rvm/gems/ruby-2.1.1/bundler/gems/acts_as_tenant-1b7d146d750b/lib/acts_as_tenant/model_extensions.rb, line 54 
block (3 levels) in User.build_default_scope 
activerecord (4.1.4) lib/active_record/scoping/default.rb, line 103 
User::ActiveRecord_Relation#scoping 
activerecord (4.1.4) lib/active_record/relation.rb, line 285 
block (2 levels) in User.build_default_scope 
activerecord (4.1.4) lib/active_record/scoping/default.rb, line 103 
block in User.build_default_scope 
activerecord (4.1.4) lib/active_record/scoping/default.rb, line 102 
User.evaluate_default_scope 
activerecord (4.1.4) lib/active_record/scoping/default.rb, line 125 
User.build_default_scope 
activerecord (4.1.4) lib/active_record/scoping/default.rb, line 101 
User.default_scoped 
activerecord (4.1.4) lib/active_record/scoping/named.rb, line 33 
User.all 
activerecord (4.1.4) lib/active_record/scoping/named.rb, line 28 
User.where 
activerecord (4.1.4) lib/active_record/querying.rb, line 10 
OrmAdapter::ActiveRecord#get 
orm_adapter (0.5.0) lib/orm_adapter/adapters/active_record.rb, line 17 
User.serialize_from_session 
devise (3.2.4) lib/devise/models/authenticatable.rb, line 208 
block (2 levels) in Warden::SessionSerializer#user_deserialize 
devise (3.2.4) lib/devise.rb, line 462 
Warden::SessionSerializer#fetch 
warden (1.2.3) lib/warden/session_serializer.rb, line 34 
Warden::Proxy#user 
warden (1.2.3) lib/warden/proxy.rb, line 212 
Warden::Proxy#_perform_authentication 
warden (1.2.3) lib/warden/proxy.rb, line 318 
Warden::Proxy#authenticate! 
warden (1.2.3) lib/warden/proxy.rb, line 127 
RegistrationsController#authenticate_user! 
devise (3.2.4) lib/devise/controllers/helpers.rb, line 50 
RegistrationsController#authenticate_scope! 
devise (3.2.4) app/controllers/devise/registrations_controller.rb, line 124 
block in ActiveSupport::Callbacks::Callback#make_lambda 
activesupport (4.1.4) lib/active_support/callbacks.rb, line 424 
block in ActiveSupport::Callbacks::Filters::Before.halting_and_conditional 
activesupport (4.1.4) lib/active_support/callbacks.rb, line 143 
RegistrationsController#run_callbacks 
activesupport (4.1.4) lib/active_support/callbacks.rb, line 86 
RegistrationsController#process_action 
actionpack (4.1.4) lib/abstract_controller/callbacks.rb, line 19 
RegistrationsController#process_action 
actionpack (4.1.4) lib/action_controller/metal/rescue.rb, line 29 
block in RegistrationsController#process_action 
actionpack (4.1.4) lib/action_controller/metal/instrumentation.rb, line 31 

Répondre

0

OK malheureusement ce que je devais faire était de se débarrasser de remplacer Concevoir et avec un jeu, que J'ai résolu le premier tour de problèmes, ensuite je me suis débarrassé de ActsAsTenant et j'ai écrit mon propre petit module qui, lors de l'inclusion, définit la portée par défaut et génère une erreur si aucun locataire n'est défini. Dans l'ensemble quelques heures de travail, mais tout est beaucoup plus simple maintenant il

Questions connexes