如何在Ruby / Rails中指定私有或受保护的属性?

时间:2011-11-24 18:05:00

标签: ruby-on-rails ruby ruby-on-rails-3 attributes access-specifier

如何在Ruby / Rails中指定私有或受保护的属性?

是否所有数据库字段都自动归属,并且不需要在模型中定义?

任何推荐的教程?

使用Rails 3.0.7。

2 个答案:

答案 0 :(得分:1)

标题与问题不符。

是的,数据库字段是自动属性的(取决于您对属性的含义;它们 只是@column_nameattr_accessor一样)。

您可以使用attr_accessibleattr_protected提供某种级别的辅助功能,但这适用于批量分配,而不是一般访问。

答案 1 :(得分:1)

您可以使用attr_protectedattr_accessibleattr_readonly

attr_protectedattr_readonlyattr_accessible宏控制接受质量分配的内容。如果您不熟悉这三个宏之间的区别,请阅读这些链接。

ActiveRecord模型的文档:

http://api.rubyonrails.org/classes/ActiveRecord/Base.html

http://apidock.com/rails/ActiveRecord/Base