好的,我真的觉得我错过了这个轨道。 在我的上一个问题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)
这显然不起作用。当我尝试更新比较旧(从数据库)和新收件人(通过表单)的每个记录时,算法变得非常复杂。我觉得缺少的是正确的关联,但我无法理解哪些。我知道这很简单。谢谢你的帮助