0

Как получить доступ к переменной из файла инициализации?общая настройка для поиска в рельсах, как получить доступ к переменной из файла инициализации

У меня есть файл с именем search.rb в моей папке инициализатора

api_client = IndexTank::Client.new 'http://:[email protected]' 
index = api_client.indexes 'idx' 

однако, в моем контроллере всякий раз, когда им пытаются проиндексировать вновь созданный урок, рельсы дает мне ошибку

undefined method `document' for nil:NilClass 

мой контроллер ...

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

также это плохой способ индексации мои документы? когда они создаются? спасибо

ответ

0

Вы могли бы найти полезным посмотреть на танкере самоцвета по kidpollo - https://github.com/kidpollo/tanker

Это третья сторона IndexTank камень для рельсов. Вам фактически не нужно его использовать - вы можете продолжать использовать indextank gem, если хотите. Но, глядя на источник драгоценности «Танкер», может оказаться полезным при определении лучшего способа написания кода под рельсами.

0

Похоже, что индексный объект не был инициализирован.

НЕТ, это не плохой способ для индексирования ваших документов. Но я предлагаю переместить индексирование в специальную модель индекса, которая будет обрабатывать всю логику индексирования для конкретного индекса. Подумайте, как индекс таблицы базы данных.

+0

Не инициализирован ли индекс в моем инициализаторе? как бы вы сделали его доступным? – Sasha