Ruby on rails 为什么我';我得到了未定义的方法“cookies';”;?

Ruby on rails 为什么我';我得到了未定义的方法“cookies';”;?,ruby-on-rails,ruby,cookies,authlogic,rails-api,Ruby On Rails,Ruby,Cookies,Authlogic,Rails Api,我正在尝试为我的rails后端应用程序(我使用的是rails api gem)设置带有单个\u访问\u令牌的Authlogic 我遵循这个例子: 到目前为止,我能够创建用户,但当我尝试登录时,在用户会话上失败。保存: NoMethodError in Api::V1::UserSessionsController#create undefined method `cookies' for #<Api::V1::UserSessionsController:0x00000004528cb8&

我正在尝试为我的rails后端应用程序(我使用的是rails api gem)设置带有单个\u访问\u令牌的Authlogic

我遵循这个例子:

到目前为止,我能够创建用户,但当我尝试登录时,在用户会话上失败。保存:

NoMethodError in Api::V1::UserSessionsController#create
undefined method `cookies' for #<Api::V1::UserSessionsController:0x00000004528cb8>

在我的用户模型上。然而,它一直在失败。我假设在保存UserSession时,Authlogic会尝试更新用户上的魔法字段,但我不知道为什么仍在尝试使用Cookie。

本教程假设使用常规rails应用程序,但您使用的是rails api。默认情况下,rails api中的控制器不包括处理cookie的中间件。如果需要cookies,则需要添加该中间件:

config.middleware.use ActionDispatch::Cookies

然后在控制器中包含
ActionController::Cookies
。有更多关于rails api默认包含哪些内容的信息,rails api确实有接受cookie的附加步骤

  • config.middleware.use ActionDispatch::Cookies
    添加到
    config/application.rb
  • 在类的顶部添加
    在预期控制器中包含ActionController::Cookies

  • 重新启动应用程序

    我知道,但我希望避免对应用程序使用cookie,因为它对API没有意义。根据Authlogic的文档,应该可以使其在没有cookie的情况下工作。
    config.middleware.use ActionDispatch::Cookies