我想在我正在编写的Ruby gem中使用数据库。 gem应该在Rails应用程序中使用,并且将包含从主Rails应用程序传入的文档的倒排索引。
我对如何解决这个问题感到有些困惑。我应该以某种方式挂钩主Rails数据库吗?或者我应该有一个独立的数据库?理想情况下,我只想使用ActiveRecord来创建,更新,删除和查询条目,但我不确定如何设置它。
此时数据将进入数据库:
module ActiveRecordExtension
extend ActiveSupport::Concern
class_methods do
def foo
"bar"
end
end
included do
after_save :add_to_inverted_index
end
def add_to_inverted_index
# This is where I'd take the fields from the Rails app
# and include them to my inverted index. However, I'm struggling
# to find a way to hook into a database from my gem to do this.
end
end
# Include the extension
ActiveRecord::Base.send(:include, ActiveRecordExtension)
建议非常感谢!感谢
答案 0 :(得分:1)
在澄清之后,您应该使用主Rails数据库。只需创建一个迁移并插入所需的表。你应该这样做因为:
也许你应该看看已知的宝石以及它们是如何做到的。我正在考虑Devise。