如何从服务器响应中获取参数到模型中

时间:2015-05-28 19:18:28

标签: ruby-on-rails forms

我有一个模块,在你通过填写之后,它会向用户返回一个public_token,所以我得到这样的响应......

/users/transactions?public_token=3982u3doihd9hu2ids9h

我需要接受public_token并通过事务模型中的方法运行它。

我用来获取此令牌的表单看起来像这样......

<form id= "some-id" method="GET" action="/users/transactions"></form>

它从API服务器“获取”了public_token,但我不知道如何让它将该令牌提交给事务模型。在将该令牌提交给模型之后,它将运行这样的方法来为access_token提供public_token。

def token_exchange(options = {})
 exchangeTokenResponse = Api.exchange_token(body: options).parsed_response

  #save the accessToken to initialize a user via Api.set_user
  accessToken = exchnageTokenResponse.access_token
 end

1 个答案:

答案 0 :(得分:1)

在您的控制器中,param将作为params哈希的一部分提供,在您的情况下params[:public_token]

在模型中调用方法时,将其作为参数传递,并确保模型方法可以接受它作为参数。

users_controller.rb

class UserController < ApplicationController

    ...

    def transactions
        @user.token_exchange(params[:public_token])
    end

    ...

end

user.rb

class User < ActiveRecord::Base

    ...

    def token_exchange(public_token)
        # do stuff
    end

    ...
end