0

从文档中,我看到如果我有一个模型:

User has_many Addresses

我可以这样做:

class User < AR::Base

  attr_accessible :addresses_attributes
  accepts_nested_attributes_for :addresses

end

我应该能够从用户设置这些属性。但我不能。我是否还需要在地址模型中添加“attr_accessible”标注?

4

1 回答 1

1

是的,您还必须在 Address 模型上设置 attr_accessible 。

当 ActiveRecord 使用属性散列初始化实例时,当未由 attr_accessible 标记的属性是散列键的一部分时,它将引发异常。因为在关联中,ActiveRecord 对象是用属性的散列初始化的,所以在使用 attr_accessible 的 Address 模型中说明这些属性是没有逃避的。

于 2012-09-04T21:04:17.680 回答