前提・実現したいこと
Rails Tutorial 5.1(第4版) 2.3.3 をやっています。
Rails consoleを使って、ユーザーとマイクロポストの関連付けを確認したいのですが、micropostsメソッドが実行できません。
目標は、以下の見本のような結果を得ることです。
$ rails console >> first_user = User.first => #<User id: 1, name: "Michael Hartl", email: "michael@example.org", created_at: "2016-05-15 02:01:31", updated_at: "2016-05-15 02:01:31"> >> first_user.microposts => [#<Micropost id: 1, content: "First micropost!", user_id: 1, created_at: "2011-11-03 02:37:37", updated_at: "2011-11-03 02:37:37">, "2016-05-15 02:37:37", updated_at: "2016-05-15 02:37:37">, #<Micropost id: 2, content: "Second micropost", user_id: 1, created_at: "2016-05-15 02:38:54", updated_at: "2016-05-15 02:38:54">] >> micropost = first_user.microposts.first => #<Micropost id: 1, content: "First micropost!", user_id: 1, created_at: "2016-05-15 02:37:37", updated_at: "2016-05-15 02:37:37"> >> micropost.user => #<User id: 1, name: "Michael Hartl", email: "michael@example.org", created_at: "2016-05-15 02:01:31", updated_at: "2016-05-15 02:01:31"> >> exit
発生している問題・エラーメッセージ
実際にやってみたところ、次のように表示されてしまいます。
2.6.3 :013 > first_user = User.first User Load (0.1ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT ? [["LIMIT", 1]] => #<User id: 1, name: "hitsuji", email: "1@", created_at: "2020-02-07 07:25:59", updated_at: "2020-02-07 07:25:59"> 2.6.3 :014 > first_user.microposts Traceback (most recent call last): 1: from (irb):14 NoMethodError (undefined method `microposts' for #<User:0x00000000048392b8>)
### 追記1 クラスを宣言しているコード
~/environment/toy_app/app/models/application_record.rb
class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end
~/environment/toy_app/app/models/user.rb
class User < ApplicationRecord has_many :microposts end
~/environment/toy_app/app/models/microposts.rb
class Micropost < ApplicationRecord belongs_to :user validates :content, length: { maximum: 140 } end
回答1件
あなたの回答
tips
プレビュー