我可以在 ActiveRecord 模型中包含来自我的插件的新关系吗?

May I include in ActiveRecord model a new relation from my plugin?

我正在为 Redmine 创建一个插件。我想使用核心 Issue 模型,但我想在其中包含与我的模型的关系,该关系是在插件结构中创建的。我如何修补 Issue 模型以在我的插件中包含新关系?

示例 Project 型号

require 'project'

module ProjectPatch
  def self.included(base)
    base.has_one :project_settings
  end
end

Project.send :include, ProjectPatch

您可以在您的主项目中创建一个装饰器来装饰Issue模型:

# app/decorators/issue_decorator.rb
Redmine::Issue.class_eval do
  has_many :blurps # or whatever your model is called
end