Ruby on rails Rails ActiveRecord自身@____

Ruby on rails Rails ActiveRecord自身@____,ruby-on-rails,activerecord,associations,Ruby On Rails,Activerecord,Associations,我认为这是一个相当愚蠢的问题,但我只是把自己弄糊涂了 我有好几个定义。我可以在实例方法中通过self引用它们。------如果我尝试通过@引用它们,我得到零。只是因为它是ActiveRecord对象,所以在类中不能作为实例变量使用吗 关联是方法而不是实例变量。它们不是设置为实例变量,而是方法。与属性相同,您应该始终按如下方式访问它们: self.property self.read_attribute(:property) self.write_attribute(:property, valu

我认为这是一个相当愚蠢的问题,但我只是把自己弄糊涂了


我有好几个定义。我可以在实例方法中通过self引用它们。------如果我尝试通过@引用它们,我得到零。只是因为它是ActiveRecord对象,所以在类中不能作为实例变量使用吗

关联是方法而不是实例变量。

它们不是设置为实例变量,而是方法。与属性相同,您应该始终按如下方式访问它们:

self.property
self.read_attribute(:property)
self.write_attribute(:property, value)
它们甚至可以是最后的实例变量,但这是一个实现细节,您应该始终通过众所周知的接口调用代码,这就是方法