理由を説明してください:
User.first.comments.class => Array
User.first.comments.missing_method => undefined method `missing_method' for []:ActiveRecord::Relation
最初の行のクラスが配列で、もう 1 行がリレーションであるのはなぜですか?
理由を説明してください:
User.first.comments.class => Array
User.first.comments.missing_method => undefined method `missing_method' for []:ActiveRecord::Relation
最初の行のクラスが配列で、もう 1 行がリレーションであるのはなぜですか?
User.first.comments
実際には AssociationProxy オブジェクトを返します。メソッドが未定義であり、他の場所に委任されているUser.first.comments.class
ため、呼び出し時に配列を取得しています。class
Railsの関連付け方法はどのように機能するかを確認してください。
メソッド User.first.comments が存在し、戻り値の配列があり、Missing_method が Relation コメントに存在しないためです。コメントは、戻り値の配列を持つ ActiveRecord::Relation メソッドです。