我认为这是一个非常愚蠢的问题,但我只是把自己搞糊涂了
我定义了几个has_many。我可以通过自我说明在实例方法中引用它们.-------如果我尝试通过@引用 - ------我得到零。是不是因为它是一个ActiveRecord对象,它不能作为类中的实例变量?
答案 0 :(得分:4)
它们不是实例变量,而是方法。与您的属性相同,您应始终像这样访问它们:
self.property
self.read_attribute(:property)
self.write_attribute(:property, value)
它们甚至可以是最后的实例变量,但这是一个实现细节,您应该始终通过众所周知的接口调用代码,这是方法。
答案 1 :(得分:1)
关联是方法而不是实例变量。