Копирование атрибутов объекта с помощью Ruby On Rails 3 - PullRequest
4 голосов
/ 16 февраля 2011

Я копирую атрибуты объекта из Модели в другую модель, подобную этой;

 @estimate = Estimate.find(params[:estimate_id])
 @invoice = Invoice.create(@estimate.attributes)

С этой копией, она просто копирует только атрибуты модели (Оценить копии как новый Счет-фактуру), но Оценить модель иМодель счета-фактуры имеет отношение HABTM к модели "Элемент".

Как создать новый объект @invoice с помощью Estimate и его элементов вместе?Запутано ...

Обновление:

  • Оценка: has_and_belongs_to_many: элементы (таблица оценок_items) accepts_nested_attributes_for: элементы
  • Счет-фактура: has_and_belongs_to_many: элементы(таблица invoices_items) accepts_nested_attributes_for: элементы
  • Элемент: принадлежит_то: оценка принадлежит_то: счет-фактура

Спасибо.

1 Ответ

5 голосов
/ 16 февраля 2011

Я немного сбит с толку относительно того, что именно вы имеете в виду здесь.Вы хотите скопировать атрибуты attr и создать запись в таблице соединений, чтобы связать их одновременно?Если так, то это должно сработать, я думаю (не проверено) ...

@estimate = Estimate.find(params[:estimate_id])
@invoice = Invoice.create(@estimate.attributes.merge(:items => @estimate.items))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...