0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】bundle exec rails db:seedを行って「localhost でリダイレクトが繰り返し行われました。」が出た時の対処法

Last updated at Posted at 2020-02-11

#エラー発生
db/seeds.rbの中身の変更を行い、bundle exec rails db:seedを行ったところ、「localhost でリダイレクトが繰り返し行われました。」のエラーが発生した。

ログは下記の通り。

Started GET "/login" for ::1 at 2020-02-11 15:40:29 +0900
Processing by UserSessionsController#new as HTML
  User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 13 LIMIT 1
  ↳ vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
Redirected to http://localhost:3000/login
Filter chain halted as :require_login rendered or redirected
Completed 302 Found in 1ms (ActiveRecord: 0.3ms)

#原因
下記のようにユーザーは10人にした。

db/seeds.rb
10.times do
  User.create(
      name: Faker::Name.name,
      email: Faker::Internet.email,
      password: '12345678'
  )
end

ユーザーカウントするとご覧のようになる。
irb(main):005:0> User.count (0.4ms) SELECT COUNT(*) FROM users => 10

それに対してサーバーログ上ではUser Load (0.3ms) SELECT users.* FROM users WHERE users.id = 13となっており、13人目のユーザを取得しようとしている。
存在してないユーザーを取得しようとするができないためエラーになっている。自分でデータを入れたため、ユーザーが10人という上限を超えて存在していると思われる。

#解決方法
下記コマンドを実行してユーザーを消去。
User.all.destroy_all

その後再びbundle exec rails db:seedを行い、サーバーを再起動したところ、画面が正常に表示された。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?