名为"type"的模型属性会自动插入到ActiveModel :: MassAssignmentSecurity :: BlackList中

pow*_*boy 4 ruby-on-rails ruby-on-rails-3.2

我没有config.active_record.whitelist_attributes = true应用程序配置.我有attr_protected()模特课.但是,我注意到idtype属性会自动插入ActiveModel::MassAssignmentSecurity::BlackList.这对id属性有意义,因为我们不想设置id质量赋值,但为什么type属性也是如此?

Mau*_*res 8

type当您在活动记录模型之间使用单表继承时,该属性由活动记录使用,这就是它在黑名单中的原因.它保存了保存的类的名称,因此Rails知道保存了哪种对象.

  • 是的,你不应该.另外,`type`用于返回对象的`Class`实例,因此即使Rails也不应该使用它;) (2认同)