前提・実現したいこと
railsチュートリアルの第11章を参考に、アカウントの有効化機能を実装中です。
ログインの作動確認をしていたところ、開発環境では問題なく作動していたのですが、herokuではエラーが出てしまいました。
原因を突き止められず困っています。
発生している問題・エラーメッセージ
heroku logsにて、
NoMethodError (undefined method `activated?' for 〜> Did you mean? activate):
が確認できました。
activatedはusersテーブルのカラムで、boolean型としています。
該当のソースコード
SessionsController
def create user = User.find_by(email: params[:session][:email].downcase) if user && user.authenticate(params[:session][:password]) if user.activated? log_in user params[:session][:remember_me] == '1' ? remember(user) : forget(user) redirect_back(fallback_location:"/") else message = "アカウントが有効化されていません。 " message += "登録したメールアドレスへ送信されたメールを確認し、アカウントを有効化してください。" flash[:notice] = message redirect_to ("/") end else flash.now[:notice] = 'メールアドレスまたはパスワードが間違っています' render 'sessions/new' end end
試したこと
NoMethodError (undefined method `activated?' for 〜>
Did you mean? activate): のエラーから、if user.activated? のactivatedがカラム名ではなくメソッドとして解釈されてしまっているのではないかと考えましたが、良い対処法が思いつかず、困っています。
補足情報(FW/ツールのバージョンなど)
ruby 2.5.0, rails 5.1.6 , cloud9, heroku
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。