アクティベーショントークンからアクティベーションダイジェストを生成する際に、エラーが起きてしまっているようなのですが、原因が分かりません。
users_controller.rb def create @user = User.new(user_params) if @user.save UserMailer.account_activation(@user).deliver_now flash[:info] = "認証用メールを送信しました。メールアドレスを確認して、本登録を完了させてください。" redirect_to root_url else render 'new' end end
model/user.rb attr_accessor :remember_token, :activation_token before_create :create_activation_digest def User.digest(string) cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST : BCrypt::Engine.cost BCrypt::Password.create(string, cost: cost) end def User.new_token SecureRandom.urlsafe_base64 end 中略 def create_activation_digest self.activation_token = User.new_token self.activation_digest = User.digest(activation_token) end
エラーコード app/models/user.rb:60:in `create_activation_digest' undefined method `activation_digest=' for #<User:0x00007faaf5c5ee80> Did you mean? activation_token= Extracted source (around line #60): def create_activation_digest self.activation_token = User.new_token self.activation_digest = User.digest(activation_token) end
エラーコード app/controllers/users_controller.rb:21:in `create' def create @user = User.new(user_params) if @user.save ←この部分で引っかかるみたいです UserMailer.account_activation(@user).deliver_now flash[:info] = "認証用メールを送信しました。メールアドレスを確認して、本登録を完了させてください。" redirect_to root_url コード
どなたか、原因が分かる方はいらっしゃいませんか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/14 08:54
2019/12/14 09:12
2019/12/14 09:47