2

所以,我有一个带有 authlogic 的标准 rails 3 应用程序。如果我不在浏览器中(在控制台或测试环境中),我无法创建用户模型。

例如:

我在 rspec 测试或控制台中有此代码:

user = User.create(...user attributes...)

我得到这个错误:

NoMethodError: undefined method `cookies' for main:Object

我已经在互联网上查看了所有内容,但无法弄清楚。任何帮助将不胜感激。

编辑:

所以,我环顾四周,发现在文档中可以做到这一点:

include Authlogic::TestCase

但后来我得到这个错误:

uninitialized constant Authlogic::TestCase
4

1 回答 1

2

我有同样的问题。您在应用程序中的哪个位置放置了以下行:

Authlogic::Session::Base.controller = Authlogic::ControllerAdapters::RailsAdapter.new(self)

当我将该行放在environment.rb文件中或我的初始化程序文件夹中的文件中时,我遇到了这个错误。

当我把线放在我的ApplicationController代替时,我消除了这个问题。

于 2013-06-23T16:53:15.200 回答