无法在观看次数

时间:2017-10-20 11:42:37

标签: faraday ruby-on-rails-5

我有一个API,它有一个数据库和另一个没有活动记录的rails APP,我也使用ActiveResource来管理一些数据库查询

我的前端应用控制器是

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  skip_before_action  :verify_authenticity_token
end

我有一个操作来验证从我的前端到API的用户

从前端

我有这个方法

def create_session
  conn = Faraday.new(:url => 'http://localhost:3001')
  conn.post '/auth_user', { :email => params[:email], :password => params[:password] }
end

和API

def auth_user
  user = User.find_by(email: params[:email])
  if user && user.authenticate(params[:password])

    conn = Faraday.new(:url => 'http://localhost:3000') 
    conn.post '/add_session', { :status => "right", :user => user.id }
  else
    conn = Faraday.new(:url => 'http://localhost:3000') 
    conn.post '/add_session', { :status => "wrong" }
  end 

请注意,我可以访问params [:email]和params [:password],我可以获得正确的前端状态

然后在前端内部我无法访问param [:status]或params [:user] excpet on by bybug 我试着做会话[:user_id] = params [:user]而且它不能正常工作

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

经过一些谷歌搜索和玩耍后,我发现我的做法是错误的。

因为行动已经执行并且所有变量都已经消失 - 据我所知 - 所以我设法通过执行来获取此信息:

conn.get '/auth_user'

然后我可以收到我需要的json信息的回复。