我正在使用RoR 5.2,ruby-trello,devise和omniauth-trello宝石。 我需要能够向Trello API(https://github.com/jeremytregunna/ruby-trello#multiple-users)发出授权请求。
这是我使用Trello登录的回调操作。
def trello
@user = User.from_omniauth(request.env['omniauth.auth'])
if @user.persisted?
@client = Trello::Client.new(
:consumer_key => Rails.application.credentials.trello[:key],
:consumer_secret => Rails.application.credentials.trello[:secret],
:oauth_token => params[:oauth_token],
:oauth_token_secret => params[:oauth_verifier]
)
@user.update(client: @client)
sign_in_and_redirect @user, event: :authentication
set_flash_message(:notice, :success, kind: 'Trello') if is_navigational_format?
end
end
此代码将字符串保存到@ user.client,而不是对象。如果尝试puts @client.inspect
控制台显示此信息(不包含ID之类的信息):
#<Trello::Client:0x00007f1550453*** @configuration=#<Trello::Configuration:0x00007f1550453*** @consumer_key="***", @consumer_secret="***", @oauth_token="***", @oauth_token_secret="***">>
(将实际数据更改为“ ***”)
如何通过@user访问@client(Trello :: Client obj)? 也许您知道从我的应用程序中多个用户发出授权请求的最佳方法?
对不起,我的英语! 预先谢谢你。