Обновление нескольких записей для одного и того же объекта - PullRequest
1 голос
/ 26 сентября 2011

Хорошо, я действительно чувствую, что скучаю по рельсам.Следуя моему последнему вопросу параметры рельсов в 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)

, что, очевидно, не работает.Когда я пытаюсь обновить каждую запись, сравнивая старых (из базы данных) и новых получателей (прошедших через форму), алгоритм становится невероятно сложным.Я чувствую, что не хватает правильных ассоциаций, но мне не удается понять, какие именно.Я знаю, что это действительно просто.Спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...