法拉第没有在Rails上工作

时间:2014-01-12 12:00:59

标签: ruby-on-rails ruby ruby-on-rails-4 google-api faraday

我正试图在下面的代码中使用Faraday和Rails 4 for Google API Oauth:

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返回nil,似乎根本没有处理。

但是,当我在liveshell中尝试上述代码时,似乎可行。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

如果在实例化您尝试render的对象之前尝试render,则模板实际上不会包含任何内容。将render语句移到方法的底部将解决问题。