Как вызвать метод Call Sign_in с помощью Authentication Devise? - PullRequest
0 голосов
/ 19 февраля 2020

В своем коде я пишу свой регистрационный код, и после этого я вызываю метод sign_in, чтобы вернуть пользователя с включенным в заголовок клиентом, uid и access-token, но при вызове sign_in он возвращает только объект пользователя и заголовок не включается (uid, токен доступа, клиент)

  promoter = User.find_by_email(params[:email])
  if(promoter)
    render json: {message:"this email is already exist"} , status: 422
  else

     @promoter = Promoter.new(promoter_params)


     user = User.create(:email => params[:email],:password => params[:password],:user_role_id => 4)

    @promoter.user_id = user.id

    if @promoter.save 
      resource = User.find_by_email(params[:email])
      puts(resource)
      if resource.valid_password?(params[:password])
        puts("user ok ")
        r = sign_in :user, resource
        render json: r,:methods => [:uid,:client] , status: 200
      end

    else
      render json: @promoter.errors , status: 422
    end
  end

результат равен

"exception": "#<NoMethodError: undefined method `client' for #<User:0x00007f67d46df018>>",

1 Ответ

0 голосов
/ 22 марта 2020

Я использую это для вызова API

     puts "#{request.protocol}#{request.host_with_port}"
     params = {"email" => "test8@gmail.com", "password" => "12121212"}
     x = Net::HTTP.post_form(URI.parse("#{request.protocol}#{request.host_with_port}/auth/sign_in"), params)
     render json: x.body

, но он также не может отобразить заголовок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...