2010-08-17 61 views
0

我正在使用facebooker authlogic插件。我现在工作得很好。但是,任何试图设置User.before_connect(facebook_session)的电子邮件地址是造成Apache的抛出以下错误:脚本头Facebooker before_connect(facebook_session)通过电子邮件导致http错误

过早结束:person_session,引用者:

(person_session是我USER_SESSION) 。

这里是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 

注意,记录发生错误之前的电子邮件地址是有效的。

我的猜测是添加'@'导致它失败。另一种可能性是它试图对导致http错误的电子邮件地址进行验证。

任何想法,将不胜感激。

谢谢。

+0

作为一种变通方法,我我在我的用户模型中创建了一个名为temp_email的字段。我将它设置在before_connect中,然后将其永久设置在我的person_session_controller中。所以这意味着这与验证有关(我猜测)。仍然会很高兴有一个“真正的”修复。 – galactikuh 2010-08-17 22:06:20

回答

0

显然,您也可以从应用程序中的facebook_session获取电子邮件。但是你必须把下面的你application_controller访问facebook_session(这是非显而易见的,从另一个人的不起眼的帖子才发现):

的before_filter:set_facebook_session 是helper_method:facebook_session