我有一个需要编辑的列数组(wich是动态的),如下所示:

toEdit = ["last_name_required", "email_required", "phone_required"]

记住,它是动态的,所以它只能有电话。例如:
toEdit = ["phone_required"]

我有一个SQL列模型,如:
last_name_required
email_required
phone_required

这些列接受布尔值。
我想生成一个代码来编辑以数组值作为参数的列这样地:
o = Model.fist
o.last_name_required = true
o.phone_required = true
o.save

我试过这样的方法:
o = Model.first
o.toEdit[0] = true
o.toEdit[1] = true
o.save

但我知道这是错误的,因为我试图使用字符串作为对象。
我不知道什么是合适的语法。
有什么想法吗?
谢谢

最佳答案

o = Model.new
toEdit.each do |key|
  o.send "#{key}=".to_sym, true
end
o.save

10-08 18:21