我将我的应用程序的一部分提取到一个 Gem 中,这涉及创建一些新的 ActiveRecord 模型。目前,这些模型看起来像这样:
Class Wordcount < ActiveRecord::Base
belongs_to :keyword
belongs_to :article
end
Class Keyword < ActiveRecord::Base
has_many :wordcounts
has_many :articles, :through => :wordcounts
end
gem 将连接到任何带有 String 或 Text 字段的 ActiveRecord 模型,而不仅仅是我Article
在现有 Rails 应用程序中定义的模型,该代码来自该应用程序。
我需要做什么才能根据 gem 的功能应用到的模型生成相关的 AR 关联?我希望最终得到:
has_my_gem_functionality :on => [:field1, :field2, ...]
并将其余部分安全地封装在宝石中。
我假设我还必须对迁移进行元编程。我认为我想做的事情相对简单,只是离我的舒适区有点太远了。