我花了很多时间试图解决模型中的虚拟属性问题.原来我只是忘了把它添加到模型中的attr_accesible.当然,我应该早点或更好地抓住它,首先应该通过将其添加到attr_accessible来开始整个过程.
为了防止这种情况再次发生,是否有一个配置设置我可以标记为在开发时抛出异常,如果我尝试批量分配并在受保护/不可访问时验证它?我知道我可以使用set config.active_record.whitelist_attributes = true来要求所有人使用白名单,但我的问题更多的是基于个别属性.
例如,如果我有一个带有attr_accessible的模型,则上面的行不会发出警告:name然后添加:nickname(virtual或not),并尝试批量指定它检查presence => true.我希望它警告我,我试图通过质量分配来验证受保护的属性.