如何使用build添加到ActiveRecord集合

时间:2015-06-25 15:17:19

标签: ruby-on-rails rails-activerecord

我有一个名为PhoneItems的模型,它有许多CallingTimes。 要禁用has_many自动保存功能,我必须开始使用构建方法。

phone_queue_items.calling_times.build

以便在关闭编辑表单时,不会自动保存通话时间。现在我有以下问题。我希望能够将第二个calling_time推送到PhoneItem对象,但是以下内容不起作用:

phone_queue_items.calling_times << CallingTimes.build

,也不     phone_queue_items.calling_times.build

有没有办法在phone_queue_item对象中建立多个通话时间?

2 个答案:

答案 0 :(得分:0)

您可以创建一个新对象,并将其推送到数组:

phone_queue_items.calling_times << CallingTimes.new

答案 1 :(得分:0)

您可以多次在集合上致电build,每个项目都会添加并准备好保存。

2.times { phone_queue_items.calling_times.build }
phone_queue_items.calling_times
#=> [#<CallingTime...>, #<CallingTime...>]