【发布时间】:2011-11-24 18:04:59
【问题描述】:
如何在 Ruby/Rails 中指定私有或受保护的属性?
所有的DB字段都是自动属性的,不需要在Model中定义吗?
有什么推荐的教程吗?
在 Rails 3.0.7 中工作。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 attributes access-specifier
如何在 Ruby/Rails 中指定私有或受保护的属性?
所有的DB字段都是自动属性的,不需要在Model中定义吗?
有什么推荐的教程吗?
在 Rails 3.0.7 中工作。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 attributes access-specifier
您可以使用attr_protected、attr_accessible 或attr_readonly
attr_protected、attr_readonly 和 attr_accessible 宏控制接受质量分配的内容。如果您不熟悉这三个宏之间的区别,请阅读这些链接。
ActiveRecord 模型文档:
【讨论】:
标题与问题不符。
是的,DB 字段自动成为属性(取决于您所说的属性;它们不是只是@column_name 和attr_accessor 一样)。
您可以使用attr_accessible 和attr_protected 提供一定程度的可访问性,但这是用于批量分配,而不是一般访问。
【讨论】: