更新同一对象的多个记录

时间:2011-09-26 16:58:43

标签: ruby-on-rails

好的,我真的觉得我错过了这个轨道。 在我的上一个问题rails parameters in form_for之后,我可以正确更新邮件内容,但我正在努力更新收件人

我的草稿模型

class Draft < ActiveRecord::Base

belongs_to :message
belongs_to :draft_recipient, :class_name => "User"
delegate :created_at, :subject, :user, :body, :draft_recipients,  :to => :message
...

我的消息模型

class Message < ActiveRecord::Base

belongs_to :user
has_many :recipients, :through => :message_copies
has_many :draft_recipients, :through => :drafts
has_many :message_copies
has_many :drafts, :class_name => "Draft", :foreign_key => :message_id

attr_accessor :to #array  of people to send to
attr_accessible :subject, :body, :to, :recipients, :author, :user
...

在我的控制器中,我想做类似

的事情
new_draft_recipients = params[:draft][:draft_recipients].split(",")
@draft.update_attributes(:draft_recipients => new_draft_recipients)

这显然不起作用。当我尝试更新比较旧(从数据库)和新收件人(通过表单)的每个记录时,算法变得非常复杂。我觉得缺少的是正确的关联,但我无法理解哪些。我知道这很简单。谢谢你的帮助

0 个答案:

没有答案