在我的Rails应用程序中,我有一个父类Assessment,包含各种子类LanguageAssessmentMathsAssessment等.应用程序has_papertrail中的每个模型都在ApplicationRecord上.当带有LanguageAssessment的条目被删除时,书面线索试图访问assessments表并抛出异常,因为它不存在-它应该查看language_assessments表.有没有办法告诉它这一点?

推荐答案

https://github.com/paper-trail-gem/paper_trail/issues/362

如果您将模型继承用于STI以外的其他用途,则 将需要覆盖父类的base_class,如下所示:

class LanguageAssessment < Assessment
  has_paper_trail

  def self.base_class
    self
  end
end

Ruby-on-rails相关问答推荐

Rails 7.1.3如何在生产环境中查看堆栈跟踪

使用RubyZip处理大型压缩文件:65535个文件的限制

在URL中将下划线更改为连字符Ruby on Rails

为什么是 json.partial!使用新的哈希语法传递本地时,jbuiler 模板中的行不执行?

Rails Migration将字符串转换为整数?

如何将实例变量传递给 RSpec 共享示例

rake assets:precompile try 连接到数据库

使用 rails 3.1.0 和 ubuntu 安装 Nokogiri 1.5.0 时出错

如何在生产中部署 resque worker?

Rails:使用 RSpec 测试命名范围

是否可以在 Rails 集成测试或规范中指定用户代理?

如何将字符串转换为类方法?

如何在 Windows 上为 Ruby 安装 sqlite3?

未定义的方法 attr_accessible

在具有唯一约束的关联中使用 Rails 中的 factory_girl.得到重复的错误

如何在同一个 Rails 控制器操作中处理多个 HTTP 方法

设计/Rails - 如何删除特定的 Flash 消息? (登录成功)

rbenv:没有 gemsets 生存

Rails:一次添加多个 flash[:notice] 的简单方法

Ruby 中的类别名