Ruby on Railsでアプリケーションを作成中、deviseを導入しました。インストール後にrails db:create
でデータベースの作成を行おうとしたところ、
undefined method `devise' for Install (call 'Install.connection' to establish a connection):Class (NoMethodError)
というエラーが出ました。
rails s
のコマンドも効きません。
原因
history
コマンドで直近の入力履歴を探ってみると、
bundle install
rails g devise install
rails db:create
rails s
rails g devise:install
と入力すべきところが rails g devise install
と入力されていました。
:
の書き忘れです。
deviseがそもそもインストールされていなかったようです。
#対策
install.rb というモデルが作成されてしまっている状態なので、削除します。
config/route.rb内のルーティング
config/route.rb
devise_for :installs
の記述をまず削除。
Rails d devise install
のコマンドを入力。
Rails g devise:install
を再度実行でOKです。
参考記事