我使用facebook-omniauth gem和设计这是我回调中的内容
class CallbacksController < Devise::OmniauthCallbacksController
def facebook
@user = User.from_omniauth(request.env["omniauth.auth"])
if @user.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook"
sign_in_and_redirect @user
else
session["devise.facebook_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
end
我想首次将每个新用户(7000点)添加到他们第一次注册。在上面的代码中,我尝试添加resource.update(points: 7000)
,并且确实有效,当用户注册时,他得到7000分,问题是当我登录并再次登录时,数字再次为7000用户使用了其中的一些点。
您在users
表中有一个列,称为"sign_in_count"
,当用户第一次签名时,它应该为0,请检查是否为零,请添加7000,如果不添加任何东西
类似的东西:
resource.update(points: 7000) if resource.sign_in_count == 0