2010-08-06 71 views
0

我已經成功地將我的rails應用程序中的facebook連接與authlogic集成在一起。Authlogic with facebook連接

問題是,如果嘗試更新facebook用戶的配置文件詳細信息,則會出現密碼字段不能爲空的驗證錯誤。

爲了解決上述問題,我在用戶模型中添加了以下內容。

before_validation :update_authlogic_config 

    def update_authlogic_config 
    validate_password_field = !facebook_user? 
    validate_email_field = !facebook_user? 
    end 

    def facebook_user? 
    !facebook_uid.blank? 
    end 

添加此代碼後,沒有驗證錯誤,但驗證仍然失敗。

user.valid? retruns false 
user.errors.size return 0 

在控制器我做

@user.update_attributes!(params[:user]) 

的是引發異常是

驗證失敗:

沒有任何特定的錯誤。

回答

0

我發現了一個黑客。

爲某個值的Facebook用戶填充密碼字段。反正這個值不會被使用,所以它的工作原理。

def before_connect(fb_user) 
    self.crypted_password = "test" 
    self.password_salt = "test_salt" 
end