0
我想在下面的代碼使用法拉第使用Rails 4谷歌API的Oauth:法拉第不工作on Rails的
class GoogleApisController < ApplicationController
def oauth2callback
require 'faraday'
render layout: false
conn = Faraday.new(:url => 'https://accounts.google.com',:ssl => {:verify => false}) do |faraday|
faraday.request :url_encoded
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
@result = conn.post '/o/oauth2/token', {'code' => params[:code],
'client_id' => "some_id",
'client_secret' => "some_secret",
'redirect_uri' => "some_redirect_uri",
'grant_type' => 'authorization_code'}
end
end
但是當我做@result.body.inspect
它不返回任何東西。
So @result返回零,似乎並沒有處理。
但是,當我嘗試liveshell
上述代碼似乎工作。
這是發生這種情況的原因嗎?
我認爲它是因爲您在實際執行任何操作之前正在渲染模板。如果你將'render'移到最後一個語句中,它是否工作? – Eugene
剛剛在我的一個rails應用程序中進行了確認。如果在創建'@ result'對象之前渲染,則模板不會呈現任何內容。 – Eugene
@Eugene你是對的!請把這個答案,以便我可以接受它!非常感謝! –