疑問
ActiveRecordのfindで取得したオブジェクトは何故
そのオブジェクトのインスタンスメソッドを使用できるのでしょうか?
背景
インスタンスメソッドを使用したい時には、定義先のクラスでnewすることで定義先のインスタンスメソッドが使えると思います。
ruby
1Userモデル内にget_nameメソッドがある前提 2user1 = User.new 3user1.get_name
しかし、findでレコードを取得した際にも同様に使用できます。
user2 = User.find(1) user2.get_name
instance_of?
メソッドを使用して実際にインスタンスになっているのか確認したところ、user2はUserのインスタンスになっているようですが、Railsのgemを見る限り、どこら辺でインスタンス化している箇所は見当たりません。。。
user2.instance_of?(User) => true
どなたかご教示くださると幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/08 11:35 編集