我已经设置了一个referral_code,并希望在有人注册后向其引用的用户添加1。代码没有错误,但是referral_count只更新第一个用户,无论用户号是什么用作referral_code。
用户模型
after_create :check_referral_code
def check_referral_code
if self.referral_code != nil
self.referral_code = self.referral_code.strip
referral_code = self.referral_code
length = referral_code.length
referral_code = referral_code[5..length]
@user_referral_code = referral_code.to_i
if User.exists?(id: @user_referral_code)
referral_user = User.find_by(@user_referral_code)
referral_user.referral_count = referral_user.referral_count + 1
referral_user.save
end
end
端
以devise sign_up形式:
<div class="form-group input-group-lg">
<%= f.text_field :referral_code, class: "form-control", placeholder: "Referral Code (ex.LEX50456)"%>
</div>
如果您需要我提供任何其他信息,请与我们联系。
先谢谢!