我有两个模型:收件人和列表。两者都有 has_and_belongs_to_many 关联。如果我想创建一个包含新收件人的列表,List.find(x).recipients.new
效果很好。
但是我现在想要的是将现有收件人分配给一个新列表。那将如何运作?
我有两个模型:收件人和列表。两者都有 has_and_belongs_to_many 关联。如果我想创建一个包含新收件人的列表,List.find(x).recipients.new
效果很好。
但是我现在想要的是将现有收件人分配给一个新列表。那将如何运作?
List.find(x).recipients << Recipient.find(y)
基本上,您可以将每个收件人并将其列表设置为您的新列表。
Recipients.each do |recipient|
recipient.list = list
end
但是如果您的收件人很大,那么这种方式就太愚蠢了。您可以像下面的代码一样同时完成它们:
Recipient.update_all(updates, conditions = nil, options = {})