为什么我得到未定义的方法`cookies’?

我正在尝试使用single_access_token为我的rails后端应用程序设置Authlogic(我正在使用rails-api gem)。

我正在关注这个例子: http : //blog.centresource.com/2013/06/04/using-ember-auth-with-rails-3-and-authlogic/

到目前为止,我能够创建用户,但是当我尝试登录时,它在user_session.save失败

NoMethodError in Api::V1::UserSessionsController#create undefined method `cookies' for # 

根据我在这里找到的类似问题,我必须将Authlogic配置为:

  acts_as_authentic do |c| c.login_field = :email c.maintain_sessions = false end 

在我的用户模型上。 然而,它一直在失败。 我假设当UserSession被保存时,Authlogic尝试更新User上的魔术字段,但我不知道为什么还在尝试使用cookie。

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

 config.middleware.use ActionDispatch::Cookies 

然后在控制器中包含ActionController::Cookies 。 有关rails-api 自述文件中默认包含的内容的更多信息