无法解决Heroku NoMethodError

时间:2019-07-17 20:35:20

标签: ruby heroku ruby-on-rails-5 cloud9

我正在研究Rails教程11和12(帐户激活和密码重置)。我正在使用cloud9开发产品,并将heroku用于生产环境。它在cloud9上运行完美,但是在heroku上却出现了一些错误。看到heroku日志,下面有一些错误。我无法解决nomehoderror。 “已激活”是“用户”表中的一列。我已完成将其添加到用户并使用rails db:migrate。

NoMethodError (undefined method `activated?' for 〜>
Did you mean?  activate):

我搜索了一些有关此问题的文章,我不知道。

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

我希望激活帐户,但实际输出是500个服务器错误。

1 个答案:

答案 0 :(得分:0)

每次在rails数据库上进行更改时,使用heroku将代码推送到Git后,还需要在migrate上运行Heroku < / p>

您可能要在终端上运行它

heroku run rails db:migrate

让我知道它是否可以解决您的问题