如何从初始化文件中访问变量?
我的初始化文件夹
中有一个名为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
这也是索引我的文档的一种坏方法吗?什么时候他们被创造?感谢
答案 0 :(得分:0)
看起来索引对象未初始化。
不,这不是索引文档的坏方法。 但是,我建议在特殊的索引模型中移动索引,该模型将处理特定索引的所有索引逻辑。 想想像数据库表那样的索引。
答案 1 :(得分:0)
您可能会发现通过kidpollo查看Tanker gem很有用 - https://github.com/kidpollo/tanker
这是rails的第三方IndexTank gem。你实际上不必使用它 - 如果你愿意,你可以继续使用indextank gem。但是查看Tanker gem的来源可能有助于找出在rails下编写代码的最佳方法。