上記の自販機演習でがっつりアクセサメソッドについて理解する
そこで1つ疑問がわいた
なぜ自分はこんなにもアクセサメソッドについて知らないのか
ただ冷静に考えて見ると当然なことだった
なぜなら rails
をつかっていて
アクセサメソッドを使うことなんてなかったから。
ということで rails
ではどうしてアクセサメソッド使わないでもいけるのかを調べた
こちらの記事わかりやすくまとめていただいてあった
要するに
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :description
t.timestamps null: false
end
end
end
こんなかんじのマイグレーションファイルがあって
そのテーブルに紐づくモデルを作成すると
class User
attr_accessor :name, :description
end
こういう意味になるとのこと
つまりカラムに対してアクセサメソッドが紐づく状態になる
内部的にはアクセサメソッドが使われているってことかな
だからアクセサメソッドを定義しなくても
user = User.new(name: "aa")
user.name => "aa"
インスタンスのプロパティを読み書きできる(上のコードは適当)