由于 cookie 的原因,使用身份验证逻辑时无法在 rails 中创建用户



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

例如:

我在rspec测试或我的控制台中有以下代码:

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

我得到这个错误:

NoMethodError: undefined method `cookies' for main:Object

我在网上找遍了,还是不明白。如有任何帮助,我将不胜感激。

编辑:

所以,我又看了看周围,发现在文档中这样做:

include Authlogic::TestCase

然后我得到这个错误:

uninitialized constant Authlogic::TestCase

我也遇到过同样的问题。在您的应用程序中,您在哪里放置了以下行:

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

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

当我将这行放在我的ApplicationController中时,我消除了这个问题。

最新更新