【问题标题】:How to fix "uninitialized constant User"如何修复“未初始化的常量用户”
【发布时间】:2016-10-14 08:30:15
【问题描述】:

我试图创建一个新的设计模型“用户”,但我做不到。我的服务器也不会加载。我不断收到错误消息:“未初始化的常量用户”。

这是我尝试过的:

  • bundle installbundle updategem pristine --all
  • require 'devise' 添加到我的application.rb 中
  • 正在重新启动我的服务器,但现在无法启动
  • 在我的终端中运行 rails g devise:install

这是我的 gem 文件:

source 'https://rubygems.org'

gem 'rails', '4.2.6'
gem 'pg', '~> 0.15'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'

gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'bootstrap-sass', '~> 3.3.6'
gem 'rails_12factor'
gem "figaro"
gem 'devise'
gem 'paperclip', github: 'thoughtbot/paperclip' 

group :development, :test do
  gem 'byebug'
  gem 'sqlite3'
end

group :development do
  gem 'web-console', '~> 2.0'
  gem 'spring'
end

堆栈跟踪:

 WARNING: Nokogiri was built against LibXML version 2.9.4, but has dynamically loaded 2.9.2
/Users/Sam/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.6/lib/active_support/inflector/methods.rb:261:in `const_get': uninitialized constant User (NameError)
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.6/lib/active_support/inflector/methods.rb:261:in `block in constantize'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.6/lib/active_support/inflector/methods.rb:259:in `each'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.6/lib/active_support/inflector/methods.rb:259:in `inject'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/activesupport-4.2.6/lib/active_support/inflector/methods.rb:259:in `constantize'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/devise-4.1.1/lib/devise.rb:289:in `get'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/devise-4.1.1/lib/devise/mapping.rb:81:in `to'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/devise-4.1.1/lib/devise/mapping.rb:76:in `modules'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/devise-4.1.1/lib/devise/mapping.rb:93:in `routes'
    from /Users/Sam/.rvm/gems/ruby-2.2.1/gems/devise-4.1.1/lib/devise/mapping.rb:160:in `default_used_route'

我不确定发生了什么。

【问题讨论】:

  • 请分享堆栈跟踪的前几行。
  • 你是如何尝试“创建一个新的设计模型用户”的?当你这样做时会发生什么?
  • 我运行rails g devise user 出现上述错误
  • 我明白了,所以您在尝试运行 rails g devise User 时遇到了错误。也许你对设置设计有点太急切了?请尝试从您的应用程序中删除所有与设计相关的代码。尤其是来自您的application.rb。只保留 Gemfile 中的条目。然后再次尝试运行生成器。这行得通吗?
  • 很高兴它有帮助。 Leito 还提供了很好的建议,建议您严格遵循 gem 的入门说明。

标签: ruby-on-rails ruby devise


【解决方案1】:

您是否已生成模型?

rails generate devise User

【讨论】:

  • 这是一个问题而不是一个答案。请在 cmets 中要求澄清。这将有助于问题获得更多观点。干杯!
  • 是的,我显然这样做了。
  • 我们能看到 user.rb 和相关的迁移吗?
  • @Ursus 我无法制作模型,这是我的问题。我没有模型或迁移。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多