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

インデックスオブジェクトが初期化されていないようです。

いいえ、ドキュメントのインデックスを作成するのに悪い方法ではありません。ただし、特定のインデックスのすべてのインデックスロジックを処理する特別なインデックスモデルでインデックスを移動することをお勧めします。データベーステーブルのようなインデックスを考えてください。

于 2012-04-18T13:18:38.927 に答える
0

kidpolloによるタンカーの宝石を見ると便利かもしれません-https ://github.com/kidpollo/tanker

これは、レール用のサードパーティのIndexTankジェムです。実際に使用する必要はありません。必要に応じて、indextankgemを引き続き使用できます。しかし、タンカーの宝石のソースを調べることは、レールの下でコードを書くための最良の方法を見つけるのに役立つかもしれません。

于 2012-04-18T18:59:50.190 に答える