Ruby on rails Rails:API:designe:current_用户无
我正在开发一个Rails API并使用Desive进行身份验证 当我在控制器中使用Ruby on rails Rails:API:designe:current_用户无,ruby-on-rails,api,authentication,devise,Ruby On Rails,Api,Authentication,Devise,我正在开发一个Rails API并使用Desive进行身份验证 当我在控制器中使用current_user时,它总是返回nil(好像没有登录用户),尽管用户已经登录 为什么它在开发网站时起作用,而在开发API时不起作用 我正在使用curl命令测试应用程序: 登录: curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://localhost:3000/api/v1/sessio
current_user
时,它总是返回nil
(好像没有登录用户),尽管用户已经登录
为什么它在开发网站时起作用,而在开发API时不起作用
我正在使用curl命令测试应用程序:
登录:
curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://localhost:3000/api/v1/sessions -d "{\"user\":{\"email\":\"user1@example.com\",\"password\":\"secret123\"}}"
注销:
curl -v -H 'Content-Type: application/json' -H 'Accept: application/json' -X DELETE http://localhost:3000/api/v1/sessions/\?auth_token\=JRYodzXgrLsk157ioYHf
你有没有给你的控制器命名 即: 我有: 名称空间:api,默认值:{format::json}do
devise_for :users, controllers: {
registrations: 'api/registrations',
sessions: 'api/sessions'
}
结束
在my routes.rb中
我想使用#当前#用户和#用户#登录?Desive假设提供了,但不断得到“nil”和未定义的_方法错误的方法
读了一些关于名称空间的书,意识到Desive有很多神奇的力量。因为我在一个api中给我的用户命名了名称空间,所以设计生成:当前api用户和api用户登录?我的方法。这些并没有返回零
您可以在此处阅读更多信息:
您是否将会话cookie与后续api请求一起发送回?HTTPie是测试api的一个很好的工具