2015-04-13 5 views
0

Использование Tire Мне нужно заполнить индексы в тестовых примерах после создания некоторых записей, которые мне нравятся.Ruby-Tire ожидают создания индексов

['London', 'Mumbai', 'New York'].each { |name| Place.create(name: name) } 
t = Tire.index('places') 
t.import(Place.all.entries) 

Как подождать, пока индекс будет создан до продолжения?

+0

Вы подразумеваете, что 'Tire.index' является асинхронным? –

+0

вы можете поместить их в блок согласно readme. Что-то вроде этого должно работать 'Tire.index 'places' {import Place.all}'. – engineersmnky

+1

@MikeSlutsky Да, я думаю, что 'Tire.import' является асинхронным, поиск сразу же после того, как он иногда не дает результата ... – Optimus

ответ

1

Звоните t.refresh непосредственно после вашего звонка import. Это обеспечит синхронизацию шины с elasticsearch.