Ruby activerecord和#x27;s属性和read_属性?

Ruby activerecord和#x27;s属性和read_属性?,ruby,activerecord,Ruby,Activerecord,我可以同时运行这两个,它返回相同的值: user = User.new(name:'John') user.attributes['first_name'] => 'John' user.read_attribute('first_name') => 'John' 一个比另一个性能好吗?在某些情况下,我会使用一个而不是另一个 谢谢 attributes返回用户所有属性的哈希值,['first\u name']只访问哈希值的指定参数,而read\u attribute只返回所需的单个

我可以同时运行这两个,它返回相同的值:

user = User.new(name:'John')
user.attributes['first_name']
=> 'John'
user.read_attribute('first_name')
=> 'John'
一个比另一个性能好吗?在某些情况下,我会使用一个而不是另一个


谢谢

attributes
返回用户所有属性的哈希值,
['first\u name']
只访问哈希值的指定参数,而
read\u attribute
只返回所需的单个参数。您实际上不需要使用这两种方法中的任何一种来访问名称,因为这样做可以使代码更加清晰:

user = User.new(name:'John')
user.name
=> 'John'