禁用密码验证
Disable password validation
如果看到用户正在尝试使用 Facebook 登录,我希望在登录时不需要密码。但是,Authlogic(显然)在登录时会检查密码。我怎么能在这种情况下禁用密码验证?
下面是我正在使用的代码的一小段代码。 login_params
根据用户登录的方法而变化——通过表单字段或 OmniAuth。
login_params = if facebook_login?
if homeowner = get_facebook_user
{
email: homeowner.email,
password: homeowner.password
}
end
else
user_session_params
end
您可以在验证中使用 lambda 来有条件地 运行 它。例如:
validates :password, presence: true, if: lambda { !isNotFacebookLogin? }
如果看到用户正在尝试使用 Facebook 登录,我希望在登录时不需要密码。但是,Authlogic(显然)在登录时会检查密码。我怎么能在这种情况下禁用密码验证?
下面是我正在使用的代码的一小段代码。 login_params
根据用户登录的方法而变化——通过表单字段或 OmniAuth。
login_params = if facebook_login?
if homeowner = get_facebook_user
{
email: homeowner.email,
password: homeowner.password
}
end
else
user_session_params
end
您可以在验证中使用 lambda 来有条件地 运行 它。例如:
validates :password, presence: true, if: lambda { !isNotFacebookLogin? }