88246


下記のようなコードでモデルのインスタンスを作成して、インスタンスの中身を確認すると  
`id, title, content` みたいなのがたくさん出てきて `test.id`
みたいにすると中身にアクセス出来るのですが、ここに一部表示されてなくてアクセス出来る物があります。

例 `test.errors`

これはモデルでエラーが発生した際にここにメッセージが格納されるのですが、なぜ隠されているのでしょうか？  
仕様と言われればそれまでなのですが、表示しておいた方がこれも使えるのかと分かりやすい気がします。  
RSpecは不慣れで苦手なので詳しい方教えて頂けると幸いです。宜しくお願い致します。

[code]

    test = FactoryBot.create()
    
[/code]


CC BY-SA 4.0
2022-04-08T07:32:40.457
88223
2022-04-09T16:50:10.973
2022-04-09T16:50:10.973
3060
22565
question
ruby-on-rails ruby rails-activerecord rspec
RSpecでのモデルで作成されたインスタンスの一部メソッドが隠されている。


> インスタンスの中身を確認すると

とありますが、インスタンスを`inspect`などで確認するとインスタンス変数が見えることがあります（これは`inspect`メソッドの実装によります）。`id,
title, content`などについてはそれで見えるのだと思います。

一方、`errors`はActiveRecordが持っているメソッドです。メソッドはインスタンス変数とは異なりますので、通常`inspect`などでは表示されません。


CC BY-SA 4.0
2022-04-09T13:33:20.090
88246
2022-04-09T13:33:20.090
442
88223
answer