2
1

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 1 year has passed since last update.

ActiveRecord::StatementInvalid in 〇〇Controller#indexのエラーについて

Last updated at Posted at 2022-08-08

経緯

勉強を始めて1ヶ月ぐらいで、同じエラーを出す人も滅多にいないだろうし、おそらく検索しても同じような記事がない様にも感じ、エラーが発生してしまったので、メモとして記録したいと思います。

内容

スクリーンショット 2022-08-08 18.59.53.png

このような
Mysql2::Error: Table 'storagame_development.application_records' doesn't exist

が発生したときの改善策について記述したいと思います。

まず、自分がやってしまったミスについてですが、

app/controller/application_controller.rb
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  private

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
  end
end

本来controller/application_controllerに書くべき、コードをmodels/application_record.rbに記述してしまい、誤って初期の記述を消してしまったというミスになります。
ちなみに問題であると普段なら考えられる中身のコードは全く関係ありません。

app/models/application_record.rb
class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

こうして元に戻してあげるだけで解決します。
普通やらないミスであるとは思いますが、だからこそほとんどの人がどうすればいいいかわからないものであると思っています。もしやってしまってこの記事を見つけた方のエラー改善ができることを祈っております。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?