我想添加在当前现有项目上添加新项目的功能。新项目应具有所有较旧项目的任务,但某些字段应重置。如何在旧模型对象上创建新模型对象,但允许定制某些字段
我添加的模型类方法(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
“有些领域”每次都会变得一样吗? – Eric 2012-01-18 23:44:12
是的,他们每次都是一样的。 – FellyTone84 2012-01-18 23:46:00