0

我有一个字符串数组:

days = ["Monday", "Tuesday", "Wednesday"]

我想在以这些命名的数据库中创建一个 Day:

days.each do |day|
  Day.create(name: day)
end

然而,这并不那么可爱。在过去,我可以通过将属性列表传递给 attr_accessor 来清理它们:

attr_accessor *ATTRIBUTES

我希望能够做这样的事情:

Day.create(name: *days)

ActiveRecord 是否有类似的接口?

4

1 回答 1

1

您可以一次性创建它们:

Day.create(days.map { |day| {name: day} })

create文档提到:

如果验证通过,则创建一个对象(或多个对象)并将其保存到数据库中。attributes 参数可以是 aHash或 an Arrayof Hashes

于 2016-02-04T19:53:16.913 回答