fbgraph:未定义的方法`encode_json'表示true:TrueClass

时间:2011-01-23 12:15:53

标签: ruby-on-rails ruby nomethoderror facebook-graph-api

我的代码:

  def start
    redirect_to client.authorization.authorize_url(:redirect_uri => callback_oauth_url,
                                                   :scope => "email,user_birthday,user_hometown,user_interests,user_location,user_notes,user_status,sms,publish_stream")
  end

  def callback
    access_token = client.authorization.process_callback params[:code], :redirect_uri => callback_oauth_url
    session[:access_token] = access_token
    render :json => client.selection.me.info! # <-- HERE IS THE ERROR >.<
  end

我前往/oauth/start/并成功登录并允许我的应用。之后,Facebook将我重新定向回我的应用程序,这给出了这个错误:

  

OauthController中的NoMethodError#callback

undefined method `encode_json' for true:TrueClass

我们都讨厌错误,我也是如此。我该如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:2)

info!方法返回FBGraph::Result的实例,您需要在其上调用data,以便Rails可以将其编码为JSON。 以下代码适用于我:

render :json => client.selection.me.info!.data