背景
railsチュートリアルをやってる途中で rails s
でサーバーを起動し、seedファイルの最初のユーザーでログインしようとしたら以下のエラーが発生しました。
原因
rails s
でサーバーを起動する前に rails c --sandbox
でコンソールを開き、
> user = User.first
と、最初のユーザーに対する操作を行っていたためでした。
sandboxオプションをつけると、操作したレコードにロックがかかってしまうみたいです。
今回はsandboxオプションをつけて開いた、コンソールを閉じずに、サーバーを起動させたため、
最初のユーザーのレコードにロックがかかり、ログイン時にレコードの操作ができなかったのだと思われます。
解決方法
exit
またはquit
でrailsコンソールを閉じて、サーバーを再起動する。
参考記事
初心者あるあるかもしれませんが、調べても出てこなかったので投稿してみました。