ActiveModel :: MassAssignmentSecurity ::没有控制器的Rails 4出错

时间:2016-04-19 15:05:15

标签: ruby-on-rails

我的用户模型中有以下方法。

def self.create_from(house:)
  create!(
    house: house,
    uuid: generate_uuid,
  )
end

如果我没有从控制器调用ActiveModel::MassAssignmentSecurity::Error,为什么houseuuid都会获得create_from?在Rails 4.2中解决这个问题的建议方法是什么?从Controller调用时,我习惯使用strong_params,但不是从控制器调用此模型方法。

1 个答案:

答案 0 :(得分:0)

您当然已启用了质量分配保护(配置文件中带有config.active_record.whitelist_attributes = true),因此您需要明确指出哪些属性可以通过update_attributes等方法进行更新。您可以使用attr_accessible执行此操作。

在模型中,使用attr_accessible

查看与attr_accessorattr_accessible相关的问题,了解更多信息hereherehere

信用: Active Model MassAssignmentSecurity Error