我的代码:
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
我们都讨厌错误,我也是如此。我该如何解决这个问题?感谢。
答案 0 :(得分:2)
info!
方法返回FBGraph::Result
的实例,您需要在其上调用data
,以便Rails可以将其编码为JSON。
以下代码适用于我:
render :json => client.selection.me.info!.data