我正在尝试使用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 #<Api::V1::UserSessionsController:0x00000004528cb8>
根据我在这里找到的类似问题,我必须将Authlogic配置为:
acts_as_authentic do |c|
c.login_field = :email
c.maintain_sessions = false
end
在我的用户模型上。然而,它一直在失败。我假设当UserSession被保存时,Authlogic会尝试更新User上的魔术字段,但我不知道为什么还在尝试使用cookies。
答案 0 :(得分:6)
本教程假定使用常规rails应用程序,但您使用的是rails-api。默认情况下,rails-api中的控制器不包含处理cookie的中间件。如果您需要cookie,那么您需要添加该中间件:
config.middleware.use ActionDispatch::Cookies
然后在控制器中加入ActionController::Cookies
。有关rails-api README
答案 1 :(得分:1)
Rails-api确实还有其他步骤来接受Cookie
config.middleware.use ActionDispatch::Cookies
添加到config/application.rb
include ActionController::Cookies
的顶部添加重新启动应用程序