我有一个模块,在你通过填写之后,它会向用户返回一个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
答案 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