Ruby on rails 为什么我';我得到了未定义的方法“cookies';”;?
我正在尝试为我的rails后端应用程序(我使用的是rails api gem)设置带有单个\u访问\u令牌的Authlogic 我遵循这个例子: 到目前为止,我能够创建用户,但当我尝试登录时,在用户会话上失败。保存: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&
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