【发布时间】:2013-03-28 13:06:28
【问题描述】:
我有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") )
但我读过this question 建议不要使用第二种解决方案。
解决此问题的推荐方法是什么?
【问题讨论】:
标签: ruby-on-rails copy clone sti dup