我有BaseProject
,ProjectTemplate
并且Project
class ProjectTemplate << BaseProject; end
class Project << BaseProject; end
我想将 project_template 属性复制到一个新的项目实例作为默认值。
问题是如果我使用dup
项目将type
设置为ProjectTemplate
project_template = ProjectTemplate.first
project = project_template.dup
我可以手动设置类型
project.type = "Project"
但我不喜欢那样,或者我可以这样做
project_template = ProjectTemplate.first
project = Project.new( project_template.attributes.except("id", "type") )
但我读了这个建议反对第二种解决方案的问题。
解决此问题的推荐方法是什么?