has_many,new和single表继承

时间:2013-07-15 16:51:29

标签: ruby-on-rails ruby

我有三个模型(StudentDocumentCV)。 Document具有单表继承。我的问题是如何创建@student的简历?我试过@student.documents.new(type: CV),但这给了我:

错误

NoMethodError: undefined method `safe_constantize' for #<Class:0x007fd1819adad0>

我知道我可以做CV.new(owner: @student),但这并不是那么优雅。

模型

class Student < ActiveRecord::Base
  has_many :documents,
    as: :owner
end

class Document < ActiveRecord::Base
  has_many :documents,
    as: :owner
end

class CV < Document
end

1 个答案:

答案 0 :(得分:0)

你的答案是:

@cv = @student.documents.build
@cv.type = "CV"

请参阅ActiveRecord::Associations::CollectionProxy#build