【发布时间】:2011-11-20 18:35:37
【问题描述】:
昨天我在使用不同的 ODM 时遇到了一些问题,所以我决定改用 Mongoid。 wiki tutorial 非常彻底,所以看起来值得一试。我非常仔细地浏览了 wiki 文章,但可能遗漏了一些东西。这可能是因为我昨天在应用程序中使用了不同的 ODM。无论如何,现在我收到一个错误:
uninitialized constant User::Mongoid
使用这行代码(将其放入以确认问题出在此方法):
<% if user_signed_in? -%>
5: Hello user
6: <% end -%>
user_signed_in 是一种设计方法。我怀疑设计实际上并没有加载,但我不确定下一步该做什么。
我的 gem 文件有 gem "devise", "1.5.0" 并且我运行了 bundler install,我可以看到该设计正在安装。我已经确认我的应用程序控制器与示例中的应用程序控制器完全匹配。当我运行 rails server 时,我的应用程序启动时没有问题。当我执行load 'app/models/user.rb' 时,应用程序中的所有模型都正确加载。文件 config/initializers/devise.rb 有require 'devise/orm/mongoid'。我已验证我的用户模型与教程中的模型完全匹配。
接下来我应该看什么?
更新:这已修复,但我仍然想念如何解决。我在一个新端口上启动了该应用程序。这就是全部。我正在对我的 index.html.erb 进行更改,并在我收到的错误中看到这些更改,因此我知道正在看到新代码。但是当我在新端口上启动应用程序时,错误就消失了。也许我不知道rails中有某种“硬重新编译”?
【问题讨论】:
标签: ruby-on-rails devise mongoid