从文档中,我看到如果我有一个模型:
User has_many Addresses
我能做到这一点:
class User < AR::Base
attr_accessible :addresses_attributes
accepts_nested_attributes_for :addresses
end
我应该能够从User设置这些属性。但我做不到。我是否还需要在地址模型中添加一个"attr_accessible"标注?
是的,您还必须在Address模型上设置attr_accessible。
当ActiveRecord使用属性哈希初始化实例时,当未被attr_accessible标记的属性是哈希键的一部分时,它将抛出异常。由于关联中的ActiveRecord对象是用属性哈希初始化的,因此无法通过attr_accessible在Address模型中声明这些属性。