2011-01-23 1 views
1

Mon code:fbgraph: `Méthode encode_json non définie » pour vrai: TrueClass

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 

Je suis allé à /oauth/start/ et avec succès signé et a permis à mon application. Par la suite, Facebook me redirigé vers mon application, ce qui a donné cette erreur:

NoMethodError in OauthController#callback

undefined method `encode_json' for true:TrueClass 

Nous toutes les erreurs de haine et moi aussi Comment puis-je résoudre ce problème? Merci.

Répondre

2

La méthode info! renvoie une instance de FBGraph::Result, vous devez appeler data pour que Rails puisse l'encoder en JSON. Le code suivant fonctionne très bien pour moi:

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