1

我正在使用 Rails 2.3 和 Devise 1.0.11。由于我是 Rails 新手,请原谅任何明显的错误。

User 模型定义在 Rails 之外的一个文件夹中(名为“Common”),它在不同的组件之间共享,Rails 就是其中之一。我在 User 模型中包含了设计模块,如下所示:

class User < ActiverRecord::Base
  devise :database_authenticable, :recoverable, :rememberable, :trackable
  attr_accessible :email, :password, :password_confirmation
end

在 Rails 应用程序中,Devise 工作正常。

问题是当我尝试从 Common 文件夹运行 rspec 测试时,我得到undefined method 'devise'. 我已经从这个问题尝试过这个答案,但它对我不起作用。我明白了。当我得到. 我猜它需要 Rails 环境中的一些东西,但不确定到底是什么。uninitialized constant ActionControllerrequire 'action_controller'uninitialized constant Rails

我还尝试通过devise_extension.rb文件包含设计模块,config/initializers以便根本不必从 Common 调用设计。

    class User
      devise :database_authenticable, :recoverable, :rememberable, :trackable
    end

这似乎可以解决问题,直到我调用:password一个视图并且我undefined method 'password'清楚地知道我在那里也遗漏了一些东西。

不知道从这里去哪里,但任何帮助表示赞赏。

4

0 回答 0