0

我正在尝试为项目制作 API。我按照该视频中的说明进行操作 - https://www.youtube.com/watch?v=lgdUqtw4weg&t=165s

基本上在视频中,我为用户模型制作了一个令牌列。并设置控制器,以便我可以使用 post 方法。但是当我运行 POST 时。我收到错误消息

{"error":"You need to sign in or sign up before continuing."}

我认为 Devise 正在干扰 POST,并且在尝试访问非公共页面时发现用户没有登录。

我如何通过这个并获得令牌?

这是我的 api 控制器。

class Api::V1::UserSerializedController < ApplicationController
protect_from_forgery except: :index
respond_to :json


def create 


    user = User.where(email: params[:email]).first

    if user.valid_password?(params[:encrypted_password])
        render json: user.as_json(only: [:email, :authentication_token]),status: :created

    else 
        head(:unauthorized)
    end

end 

def show

end
end
4

1 回答 1

0

你正在继承ApplicationController,我猜你authenticate_user!在行动之前已经设置好了。

您必须将父类更改为类似ApiController(我更喜欢这个)

或者

为您跳过此操作Api::V1::UserSerializedController

于 2017-04-11T07:13:59.953 回答