首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为嵌套属性指定attr_accessible?

如何为嵌套属性指定attr_accessible?
EN

Stack Overflow用户
提问于 2012-09-05 04:53:49
回答 1查看 1.2K关注 0票数 0

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

代码语言:javascript
复制
User has_many Addresses

我可以这样做:

代码语言:javascript
复制
class User < AR::Base

  attr_accessible :addresses_attributes
  accepts_nested_attributes_for :addresses

end

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-05 05:04:18

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

当ActiveRecord使用属性的散列初始化一个实例时,当一个没有被attr_accessible标记的属性是散列键的一部分时,它会抛出一个异常。因为在关联中,ActiveRecord对象是使用属性的散列进行初始化的,所以使用attr_accessible在Address模型中声明这些属性是不可避免的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12271202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档