我正在研究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个服务器错误。
答案 0 :(得分:0)
每次在rails
数据库上进行更改时,使用heroku
将代码推送到Git
后,还需要在migrate
上运行Heroku
< / p>
您可能要在终端上运行它
heroku run rails db:migrate
让我知道它是否可以解决您的问题