2010-08-17 25 views
0

J'utilise le plugin facebooker authlogic. Je l'ai très bien fonctionner maintenant. Cependant, toute tentative de définir l'adresse e-mail dans User.before_connect (facebook_session) est à l'origine d'un Apache pour lancer l'erreur suivante:Facebooker before_connect (facebook_session) provoque une erreur http avec email

Fin prématurée des en-têtes de script: person_session, referer:

(person_session est mon user_session) .

Voici le code pour before_connect:

def before_connect (facebook_session) self.name = facebook_session.user.name self.login = facebook_session.user.first_name self.points = Person.default_points

Rails.logger.debug("*********email: "+facebook_session.user.email) 
self.email=facebook_session.user.email 

fin

Notez que l'adresse e-mail qui est connecté avant que l'erreur se produit est valide.

Je suppose que l'ajout du '@' entraîne l'échec. Une autre possibilité est d'essayer de valider l'adresse e-mail qui provoque l'erreur http.

Toutes les idées seraient appréciées.

Merci.

+0

Pour contourner ce problème, je J'ai créé un champ dans mon modèle User appelé temp_email. Je l'ai défini à la place dans before_connect et l'ai ensuite défini de manière permanente dans mon person_session_controller. Cela signifie donc que c'est quelque chose à voir avec la validation (je devine). Encore serait bien d'avoir un "vrai" correctif. – galactikuh

Répondre

0

Apparemment, vous pouvez également obtenir l'e-mail de la session facebook de votre application. Mais vous devez mettre ce qui suit dans votre application_controller pour accéder au facebook_session (ce qui était non évidente et seulement découvert de poste obscur d'une autre personne):

before_filter: set_facebook_session helper_method: facebook_session