【问题标题】:Can't access faraday params on views无法访问视图上的法拉第参数
【发布时间】:2017-10-20 11:42:37
【问题描述】:

我有一个 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],并且我可以在前端获得正确的状态

然后在前端内部我无法访问 byebug 上的 params[:status] 或 params[:user] excpet 我试图做 session[:user_id] = params[:user] 但它不工作

我在这里错过了什么?

【问题讨论】:

    标签: faraday ruby-on-rails-5


    【解决方案1】:

    在谷歌搜索和玩耍之后,我发现我做错了。

    因为动作已经执行并且它的所有变量都已经消失了——据我所知——所以我设法通过执行来获取这个信息:

    conn.get '/auth_user'
    

    然后我可以收到我需要的带有 json 信息的响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      相关资源
      最近更新 更多