我有一个字符串数组:
days = ["Monday", "Tuesday", "Wednesday"]
我想在数据库中创建一个以以下各项命名的 Day:
days.each do |day|
Day.create(name: day)
end
然而,这并不那么可爱。过去,我已经能够通过使用 splat 将它们传递到attr_accessor来清理属性列表:
attr_accessor *ATTRIBUTES
我希望能够做这样的事情:
Day.create(name: *days)
类似的界面是否可用于活动记录?
您可以一次性创建它们:
Day.create(days.map { |day| {name: day} })
create
文档提到:
创建一个对象(或多个对象)并将其保存到数据库(如果验证通过)。属性参数可以是
Hash
或Hashes
的Array
。