経緯
勉強を始めて1ヶ月ぐらいで、同じエラーを出す人も滅多にいないだろうし、おそらく検索しても同じような記事がない様にも感じ、エラーが発生してしまったので、メモとして記録したいと思います。
内容
このような
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
こうして元に戻してあげるだけで解決します。
普通やらないミスであるとは思いますが、だからこそほとんどの人がどうすればいいいかわからないものであると思っています。もしやってしまってこの記事を見つけた方のエラー改善ができることを祈っております。