Я бы хотел добавить возможность создания нового предмета на основе существующего предмета. Новый элемент должен иметь все задачи более старого элемента, но определенные поля должны быть сброшены.
Метод класса модели, который я добавил (def self.copy(item)
) ниже, вроде как работает, но он только настроен для точного клонирования элемента; Я хочу, чтобы он клонировал некоторые поля и позволил пользователю вводить данные для остальных.
Например, когда я копирую элемент, копируется и его номер, но я бы предпочел дать пользователю возможность ввести уникальный номер - как мне это сделать?
В идеале, я хотел бы интегрировать функцию копирования в новое действие на контроллере элементов, чтобы каждый раз, когда пользователь создает новый элемент, ему предоставлялась возможность основывать его на другом элементе, который в настоящее время находится в базе данных , Имеет ли это смысл?
class Task < ActiveRecord::Base
belongs_to :department
belongs_to :item
belongs_to :customer
end
class Item < ActiveRecord::Base
has_many :tasks
def self.copy(item)
newitem = item.clone
newitem.tasks << item.tasks.map(&:clone)
return newitem
end
end