Как включить несколько геолокаций в одну запись через гем algolia-rails?

Согласно этому сообщению в блоге, Алголия теперь позволяет использовать несколько геолокаций в одной записи. . Все, что нам нужно сделать, это передать его как массив. Я пробовал это с гемом algolia-rails, но не смог этого сделать.

Вот комбинации, которые я пробовал, но они не работают:

"geoloc": [
   {"lat": :latitude, "lng": :longitude}
]

geoloc [{:latitude, :longitude}]

И куча других комбинаций. Большинство из них приводит к ошибке, указывающей, что geoloc ожидает 2 аргумента вместо 1, который является массивом.

Мой исходный код для одного геолокатора, который работает:

geoloc :latitude, :longitude

person okysabeni    schedule 18.01.2017    source источник
comment
Код рельсов выглядит так, как будто он имеет только один геолок. Что происходит, когда вы вызываете один и тот же метод несколько раз? github.com/algolia/algoliasearch- рельсы/блоб/   -  person Sairam    schedule 18.01.2017
comment
Ну, это отстой :( Могу ли я сделать это через чистый рубин?   -  person okysabeni    schedule 18.01.2017
comment
вы видите, что происходит, когда вы вызываете его несколько раз?   -  person Sairam    schedule 18.01.2017
comment
Ой! Умная! Позвольте мне попробовать это. Я посмотрел на их рубиновый драгоценный камень, и, похоже, он обеспечивает эту функциональность. Мне просто нужно знать, как интегрировать это с жемчужиной рельсов.   -  person okysabeni    schedule 18.01.2017
comment
Я вызывал его несколько раз, и он, кажется, не работает. Я все еще вижу только одну геолокацию в своем индексе.   -  person okysabeni    schedule 18.01.2017
comment
попробуйте использовать метод add_attribute . Посмотрите, как теги принимают несколько — github. com/algolia/algoliasearch-rails/blob/   -  person Sairam    schedule 18.01.2017
comment
Давайте продолжим обсуждение в чате.   -  person okysabeni    schedule 18.01.2017


Ответы (1)


Один обходной путь:

def _geoloc
  [{ lat: x_1, lng: y_1 }, { lat: x_2, lng: y_2 }]
end

algoliasearch do
  attributes :_geoloc
end

Это помогает.

person ldlgds    schedule 02.12.2019