如何为现有模型的has_and_belongs_to_many关联赋值?

时间:2013-06-30 07:14:57

标签: ruby-on-rails

我有两个模型:收件人和列表。两者都有has_and_belongs_to_many关联。如果我想创建一个包含新收件人的列表,List.find(x).recipients.new效果很好。

但我现在想要的是将现有收件人分配给新列表。这会怎么样?

2 个答案:

答案 0 :(得分:1)

List.find(x).recipients << Recipient.find(y)

答案 1 :(得分:0)

基本上,每个收件人都可以将其列表设置为新列表。

Recipients.each do |recipient|
    recipient.list = list
end

但如果你的收件人很大,那就太愚蠢了。你可以像下面的代码一样在同一时间完成它们:

Recipient.update_all(updates, conditions = nil, options = {})