Я использую IndexTank и гем Tanker для реализации полнотекстового поиска в моем приложении Rails, но я получаю ошибку (URI :: InvalidURIError bad URI (не является URI?)) При попытке использовать метод search_tank в моем индексе.
Это метод контроллера, где я получаю ошибку
def search
if params[:query]
@posts = Post.search_tank(params[:query], :page => 1, :per_page => 10)
else
@posts = []
end
end
Это часть моей модели Post, где я определяю индекс
if ENV['RAILS_ENV'] === "production"
index = 'idx'
else
index = 'test'
end
tankit index do
indexes :title
indexes :description
end
# define the callbacks to update or delete the index
after_save :update_tank_indexes
after_destroy :delete_tank_indexes
Search_tankМетод работает, когда я тестирую его в консоли rails.Другие сообщения, кажется, предполагают, что это может быть связано с маршрутами, установленными в config / rout.rb.Все, что я задал, это вот что.
root :to => 'public#index'
match ':controller(/:action(/:id))(.:format)'
Я искал ответ, но я немного озадачен.Любая помощь будет принята с благодарностью.