Multi-Tenant Engine & Devise - Invoke environment (first_time) NameError: uninitialized constant User
Multi-Tenant Engine & Devise - Invoke environment (first_time) NameError: uninitialized constant User
引擎和设计全部配置。
https://github.com/CoastDigitalGroup/cdg-subengine
示例入门应用程序我正在尝试构建和配置因未初始化常量错误而失败的引擎:https://github.com/CoastDigitalGroup/cdg-substarter
** Invoke routes (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
NameError: uninitialized constant User
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/app/models/subengine/user.rb:26:in `<module:Subengine>'
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/app/models/subengine/user.rb:25:in `<top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:263:in `const_get'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:263:in `block in constantize'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:259:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:259:in `inject'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:259:in `constantize'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise.rb:290:in `get'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:81:in `to'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:76:in `modules'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:93:in `routes'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:160:in `default_used_route'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:70:in `initialize'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise.rb:324:in `new'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise.rb:324:in `add_mapping'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/rails/routes.rb:224:in `block in devise_for'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/rails/routes.rb:223:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/rails/routes.rb:223:in `devise_for'
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/config/routes.rb:17:in `block in <top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:601:in `instance_exec'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:601:in `block in with_default_scope'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:816:in `scope'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:600:in `with_default_scope'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:432:in `eval_block'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:412:in `draw'
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/config/routes.rb:3:in `<top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:40:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:40:in `load_paths'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:16:in `reload!'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:26:in `block in updater'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/file_update_checker.rb:75:in `call'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/file_update_checker.rb:75:in `execute'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:27:in `updater'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:30:in `instance_exec'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:30:in `run'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `each'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `call'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:54:in `run_initializers'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application.rb:352:in `initialize!'
/home/nitrous/code/cdg-substarter/config/environment.rb:5:in `<top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application.rb:328:in `require_environment!'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:240:in `call'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:199:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
.bundle/binstubs/rake:16:in `load'
.bundle/binstubs/rake:16:in `<main>'
Tasks: TOP => routes => environment
我在 user.rb 文件中添加到模型并添加
包括Subengine::UserStorage
我认为你没有参考 Devise 文档
http://www.rubydoc.info/gems/devise/file/README.md
请参考上文link。
引擎和设计全部配置。 https://github.com/CoastDigitalGroup/cdg-subengine
示例入门应用程序我正在尝试构建和配置因未初始化常量错误而失败的引擎:https://github.com/CoastDigitalGroup/cdg-substarter
** Invoke routes (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
NameError: uninitialized constant User
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/app/models/subengine/user.rb:26:in `<module:Subengine>'
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/app/models/subengine/user.rb:25:in `<top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:263:in `const_get'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:263:in `block in constantize'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:259:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:259:in `inject'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/inflector/methods.rb:259:in `constantize'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise.rb:290:in `get'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:81:in `to'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:76:in `modules'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:93:in `routes'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:160:in `default_used_route'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/mapping.rb:70:in `initialize'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise.rb:324:in `new'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise.rb:324:in `add_mapping'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/rails/routes.rb:224:in `block in devise_for'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/rails/routes.rb:223:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/devise-3.5.1/lib/devise/rails/routes.rb:223:in `devise_for'
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/config/routes.rb:17:in `block in <top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:601:in `instance_exec'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:601:in `block in with_default_scope'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:816:in `scope'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/mapper.rb:600:in `with_default_scope'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:432:in `eval_block'
/home/nitrous/code/cdg-substarter/.bundle/gems/actionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:412:in `draw'
/home/nitrous/code/cdg-substarter/.bundle/bundler/gems/cdg-subengine-2af76555ad4c/config/routes.rb:3:in `<top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:40:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:40:in `load_paths'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:16:in `reload!'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:26:in `block in updater'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/file_update_checker.rb:75:in `call'
/home/nitrous/code/cdg-substarter/.bundle/gems/activesupport-4.2.3/lib/active_support/file_update_checker.rb:75:in `execute'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:27:in `updater'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:30:in `instance_exec'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:30:in `run'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `each'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `call'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/initializable.rb:54:in `run_initializers'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application.rb:352:in `initialize!'
/home/nitrous/code/cdg-substarter/config/environment.rb:5:in `<top (required)>'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application.rb:328:in `require_environment!'
/home/nitrous/code/cdg-substarter/.bundle/gems/railties-4.2.3/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:240:in `call'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:199:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
/usr/local/opt/rbenv/versions/2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/home/nitrous/code/cdg-substarter/.bundle/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
.bundle/binstubs/rake:16:in `load'
.bundle/binstubs/rake:16:in `<main>'
Tasks: TOP => routes => environment
我在 user.rb 文件中添加到模型并添加
包括Subengine::UserStorage
我认为你没有参考 Devise 文档
http://www.rubydoc.info/gems/devise/file/README.md
请参考上文link。