前提・実現したいこと
Rails チュートリアルの第13章の一番最初モデル生成(私がやっているのは第6版ですが、第4版でも該当箇所のコードは全く同じでした)のMicropostモデルを作成するセクションで、モデルを生成しその後コンソールにてMicropost.newを実行したところ、上記のエラーが出ました。
発生している問題・エラーメッセージ
~/environment/sample_app rails c irb(main):001:0> micropost = Micropost.new Traceback (most recent call last): 1: from (irb):1 NameError (uninitialized constant Micropost)
エラー発生までに行った直近のコマンドやソースコード
rails generate model Micropost content:text user:references
db/migrate/[timestamp]_create_microposts.rb
class CreateMicroposts < ActiveRecord::Migration[6.0] def change create_table :microposts do |t| t.text :content t.references :user, null: false, foreign_key: true t.timestamps end add_index :microposts, [:user_id, :created_at] # ここを追加 end end
rails db:migrate
試したこと
environment/sample_app/app/models の下にmicropost.rbが配置されているか確認しましたが、配置されていました。
次にマイグレーションファイルを見直してから、 rail db:migrate:resetを実行しましたが、効果はありませんでした。
最後にブランチを作って作業していたので、ブランチを一度消して再度ブランチを作り直してから同様のコマンドでモデルを生成しましたが、同様のエラーがでました。
補足情報(FW/ツールのバージョンなど)
rubyのバージョン 2.6.6
Gemfile
source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem 'rails', '6.0.3' gem 'bcrypt', '3.1.13' gem 'faker', '2.1.2' gem 'will_paginate', '3.1.8' gem 'bootstrap-will_paginate', '1.0.0' gem 'bootstrap-sass', '3.4.1' gem 'puma', '4.3.5' gem 'sass-rails', '5.1.0' gem 'webpacker', '4.0.7' gem 'turbolinks', '5.2.0' gem 'jbuilder', '2.9.1' gem 'bootsnap', '1.4.5', require: false group :development, :test do gem 'sqlite3', '1.4.1' gem 'byebug', '11.0.1', platforms: [:mri, :mingw, :x64_mingw] end group :development do gem 'web-console', '4.0.1' gem 'listen', '3.1.5' gem 'spring', '2.1.0' gem 'spring-watcher-listen', '2.0.1' end group :test do gem 'capybara', '3.28.0' gem 'selenium-webdriver', '3.142.4' gem 'webdrivers', '4.1.2' gem 'rails-controller-testing', '1.0.4' gem 'minitest', '5.11.3' gem 'minitest-reporters', '1.3.8' gem 'guard', '2.16.2' gem 'guard-minitest', '2.4.6' end group :production do gem 'pg', '1.1.4' end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/30 03:08