私のモデルのメールトークンには
def self.token_valid(token, type)
return unless token.present?
token = EmailToken.where("token = ? and verification_type = ? and confirmed = 'false' and created_at <= ?", token, type, EmailToken.expires).includes(:user).first
user = token.user
end
そして、このメソッドをコントローラーから呼び出します
def confirm_password_reset
@user = EmailToken.token_valid(params[:pass_reset],"password")
render 'reset_password' if @user
end
ユーザーに関連付けようとせずにテストしたので、条件は有効です。私がやろうとしているのはtoken_valid
、トークンを確認し、トークンとそれに関連付けられたユーザーの両方を返すメソッドを取得することです。belongs_to
とhas_many
delも定義されています。
Current error : undefined method user for nil:NilClass
ありがとう。