Mongodb 在本地工作,但提供;未初始化常量用户(NameError)";论赫罗库
我在Heroku上使用Rails、MongoDB和Mongoid。我正在使用Desive进行用户身份验证Mongodb 在本地工作,但提供;未初始化常量用户(NameError)";论赫罗库,mongodb,heroku,devise,ruby-on-rails-3.2,Mongodb,Heroku,Devise,Ruby On Rails 3.2,我在Heroku上使用Rails、MongoDB和Mongoid。我正在使用Desive进行用户身份验证User应该是设计创建的模型的名称。当我在本地运行它时,一切正常,但在Heroku上,应用程序崩溃,日志中出现以下错误 /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/inflector/methods.rb:230:in `block in constantize': uninitializ
User
应该是设计创建的模型的名称。当我在本地运行它时,一切正常,但在Heroku上,应用程序崩溃,日志中出现以下错误
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.13/lib/active_support/inflector/methods.rb:230:in `block in constantize': uninitialized constant User (NameError)
我相信您的问题是您的模型用户很可能是
app/model/user.rb
重命名文件,使其成为user.rb
。还要确保在您的用户模型中
class User
......
....
...
end
还要确保您运行了heroku rake db:migrate我遇到了同样的问题,将文件名改为小写实际上解决了这个问题。但是请注意,问题是关于MongoDB和Mongoid的,这意味着不应该使用ActiveRecord(Mongoid使用Mongoid::Document mixin)。解决这个问题只需要文件大小写位。我也有同样的问题,但我的文件是小写的:(