0

referral_code を設定しました。誰かがサインアップした後、referral_code のユーザーに 1 を追加したいと考えています。コードにエラーはありませんが、referral_code として入力されたユーザー番号に関係なく、referral_count は最初のユーザーのみを更新します。

ユーザーモデル

 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>

私からの他の情報が必要な場合はお知らせください。

ありがとうございます!

4

0 に答える 0