У меня есть модель User
, в которой много Skills
, хотя его Masteries
.Algolia_search на вложенной модели
Я использую форму для извлечения пользователей с помощью Algoliasearch, и я хотел бы получить всех пользователей, обладающих определенным навыком (IE, если бы я получил имя пользователя «John», у которого есть навык «Оригами» , он должен появиться в результатах, если я типа «Джон» или «Оригами»)
Я пытался сделать это путем сопоставления вложенных навыков, но это не похоже на работу
Вот модель
class Creator < ActiveRecord::Base
include AlgoliaSearch
algoliasearch do
# all attributes will be sent
add_attribute :creator_skills
end
has_many :masteries
has_many :skills, through: :masteries
def creator_skills
self.masteries.map do |s|
{ name: s.skill.name }
end
end
[...]
Форма возвращает параметр query
, который используется для retri создатели eve с
@creators = Creator.where(display_index: true).algolia_search(params[:query]).shuffle
Я что-то пропустил? Возможно ли сопоставить вложенную модель?
документация объясняет, как добиться того, чтобы: https://github.com/algolia/algoliasearch-rails#nested-objectsrelations – MrYoshiji
@MrYoshiji Я пытался, кажется, что это не работает с отношениями '' 'has_many_though''' –
Это сообщение может помочь https://github.com/algolia/algoliasearch-rails/issues/31 – MrYoshiji