fbgraph: неопределенный метод `encode_json 'для true: TrueClass - PullRequest
1 голос
/ 23 января 2011

Мой код:

  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 перенаправил меня обратно в мое приложение, которое выдало эту ошибку:

NoMethodError в OauthController # callback

undefined method `encode_json' for true:TrueClass

Мы все ненавидим ошибки, и я тоже. Как я могу это исправить? Спасибо.

1 Ответ

2 голосов
/ 17 февраля 2011

Метод info! возвращает экземпляр FBGraph::Result, вам нужно вызвать data, чтобы Rails мог закодировать его в JSON.Следующий код прекрасно работает для меня:

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