0

如何从初始化文件访问变量?

我的初始化程序文件夹中有一个名为 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

这也是索引我的文档的坏方法吗?每当它们被创建时?谢谢

4

2 回答 2

0

您可能会发现查看 Kidpollo 的 Tanker gem 很有用 - https://github.com/kidpollo/tanker

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

于 2012-04-18T18:59:50.190 回答
0

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

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

于 2012-04-18T13:18:38.927 回答