如果在一個model對象中有一個名為balance的屬性,你可以通過索引操作符來獲取該屬性的值,你可以使用一個字符串或者標記,在這裡我們使用標記,例如:
account[:balance] #=> 獲取值
account[:balance] = 0.0 #=> 設置值
但是這種常見的代碼是不提倡的,更好的是這樣,利用ruby的訪問方法:
account.balance #=> 獲取值
account.balance = 0.0 #=>設置值
在這裡,我們使用了兩種方法來獲取屬性的值,Active Record會進行適當的類型轉換,比如,如果數據庫中的列是時間戳(TimeStamp),那麼,我們將會得到一個Time對象,如果你想得到屬性的原始的值,添加_before_type_cast到訪問方法的最後,例如:
account.balance_before_type_cast #=> "123.4", a string
account.release_date_before_type_cast #=> "20050301"
最後,也可以使用Model自己的私有方法read_attribute和write_attribute,這兩個方法使用屬性名作為參數。