2

我安装devise 1.1.rc0了它,但无法让它在我现有的应用程序中工作。

我将 gem 文件更改为gem 'devise'未指定版本。跑捆绑安装。然后运行rail destroy devise_install,因为这是我用来安装它的命令。

*然后,当我尝试重新安装时,rails generate devise:install它给了我这个错误:

gems/activerecord-3.2.8/lib/active_record/dynamic_matchers.rb:50:in method_missing': undefined methoddevise' for # (NoMethodError)*


Ryan Bigg 帮助我弄清楚上述错误是由用户模型引用设计引起的,卸载后会导致错误。所以我删除了那个引用。

现在我有这个错误。

gems/activesupport-3.2.8/lib/active_support/inflector/methods.rb:230:in `block in constantize': 未初始化的常量用户(NameError)

这是指什么?

4

2 回答 2

1

您收到此错误是因为未配置 Devise,但您的模型引用了它。在引用它的任何模型中删除对该方法的调用devise(或将其注释掉)。

于 2012-09-03T16:52:16.440 回答
1

从 1.8.7 和 Rails 3.0.7 升级到 1.9.3 和 Rails 3.2.8 时,我发现了同样的问题。该解决方案涉及删除: gem 'active_reload'

于 2012-10-02T20:10:47.797 回答