在 Rails 中搜索的常规设置,如何从初始值设定项文件访问变量



如何从初始值设定项文件访问变量?

我的初始值设定项文件夹中有一个名为 search.rb 的文件

api_client = IndexTank::Client.new 'http://:xxyyzz@xv9v.api.searchify.com'
index = api_client.indexes 'idx'

但是,在我的控制器中,每当我尝试索引新创建的课程时,Rails 都会给我一个错误

undefined method `document' for nil:NilClass

我的控制器是...

def create
    index.document(@lesson.id).add({:text => @lesson.content })
end

这也是为我的文档编制索引的糟糕方法吗? 每当创建它们时?谢谢

您可能会发现查看kidpollo的油轮宝石很有用 - https://github.com/kidpollo/tanker

它是轨道的第三方IndexTank宝石。 您实际上不必使用它 - 如果需要,您可以继续使用 indextank gem。 但是查看 Tanker gem 的来源可能有助于找出在轨道下编写代码的最佳方法。

看起来索引对象未初始化。

不,这不是索引文档的坏方法。但是,我建议在特殊的索引模型中移动索引,该模型将处理特定索引的所有索引逻辑。把索引想象成数据库表。

最新更新