我偶尔会在模型代码中看到属性访问器/读取器/编写器。如果我希望能够从视图/控制器代码更新属性,这些是必要的吗?
我是一个初学者,所以我真正谈论的是基本应用程序。
attr_accessor
是 Ruby 的核心功能,用于通过 getter 和 setter 方法生成实例变量。在基本 Ruby 中从来不需要使用它(这是一种方便)。
对于 ActiveRecord 模型,ActiveRecord 已经为您的数据列生成了 getter 和 setter。attr_accessor
是不需要或不想要的。
如果您有不需要保留的其他实例数据(即它不是数据库列),那么您可以使用attr_accessor
为自己节省几行代码。
同名的attr_accessible
——这在 Rails 代码中经常出现,并且与attr_accessor
— 是一种已弃用的在 ActiveRecord 模型中控制质量分配的方法。 Rails 4 不支持开箱即用;它已被强参数取代,后者允许更精细的控制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)