Im пытается использовать Searchkick для запуска поиска и возврата на основе нескольких моделей.Rails Searchkick/Elasticsearch has_many и принадлежит ассоциациям
Моя книга модель содержит этот
class Book < ActiveRecord::Base
searchkick
has_many :book_subjects
has_many :subjects, through: :book_subjects
belongs_to :author
belongs_to :publisher
end
, а затем мой контроллер имеет этот
def index
if params[:search].present?
@books = Book.search(params[:search], operator: "or")
else
@books = Book.all
end
end
Я хочу, чтобы результаты поиска, чтобы найти связанные модели и возвращать результаты там тоже - так бух имя субъекта, автора и издателя.
благодаря
Спасибо, это был хороший момент в правильном направлении. subject_name не работает, но понял это. – railsey
делает это обновление search_data, когда, например, тема была отредактирована? –
есть небольшая ошибка с 'subject_name'. Правильный способ сделать это с помощью ассоциации has_many: 'subject_name: subjects.map (&: name)' –