Я пытаюсь использовать Фарадей с Rails 4 для Google API Oauth в коде ниже:Фарадей не работает на 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
он не возвращает ничего.
Так что @result возвращает нуль и, похоже, не обрабатывается вообще.
Однако, когда я пытаюсь использовать приведенные выше коды в liveshell
, это сработает.
Есть ли причина, почему это происходит?
Я думаю, это потому, что вы визуализируете шаблон, прежде чем на самом деле ничего не делаете. Если вы переместите 'render' в последний оператор, это сработает? – Eugene
Просто подтвердил это в одном из моих приложений с рельсами. Если вы создаете перед созданием объекта '@ result', шаблон ничего не отображает. – Eugene
@ Юджин, вы правы! Пожалуйста, положите это в ответ, чтобы я мог принять его! Большое спасибо! –