繁体   English   中英

您如何使用attr_accessible?

[英]How do you use attr_accessible?

我找不到新手教程。 使用attr_accessible是否没有简单的规则? 我应该将其用于用户可以从表单设置的属性吗?

如果可以从表单设置所有属性怎么办?

我将不胜感激一个链接或简短的建议。 我已经找到了http://asciicasts.com/episodes/26-hackers-love-mass-assignment

attr_accessible是可以批量分配给模型的属性白名单。 这是一种策略,要求您明确列出所有属性。 这样,“开放端口”是众所周知的,并且在模型中清楚列出。 这与attr_protected相反,attr_protected是要防止进行批量分配的字段黑名单。

甚至在中等到简单的应用程序中,通常都有外键类型字段,例如user_id或company_id,这些字段可能无法由用户输入确定。 必须保护这些字段不受用户输入。 无论如何,主键字段“ id”通常都受Rails保护。

如果您的模型具有可以通过“表单”输入更新的所有列,那么请确保将其列为attr_accessible(或者对于该特定模型,您可能希望跳过attr_accessible)。

但是,不要将婴儿与洗澡水一起扔出去,attr_accessible是一件好事,并确保您在其他模型中使用它,而这些模型可能不像您在问题中所谈论的那样开放。

通常在具有大量列的模型上使用attr_protected,而在其他大多数模型上使用attr_accessible。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM