У меня есть проблема с использованием Searchkick со связанными моделями. Я хотел бы иметь возможность выполнить поиск, который может перечислить всю информацию о модели из модели списка. Например, "frederi c 2020-01-01"
Я хотел бы, чтобы это возвращало поля, относящиеся к frederi c (который в данном случае является account_name) и дату, которая связана с модельный пост
Может кто-нибудь мне помочь? Модели:
class List < ApplicationRecord
searchkick
has_many :people
end
class Person < ApplicationRecord
has_many :accounts
belongs_to :list
searchkick
end
class Account < ApplicationRecord
has_many :posts
belongs_to :person
searchkick
end
class Post < ApplicationRecord
belongs_to :account
searchkick
end
И на List_controller:
class ListsController < ApplicationController
def index
if params[:keywords].present?
@lists = List.search(params[:keywords], operator: "or")
else
@lists = List.all
end
end
end
Моя схема.rb
create_table "accounts", force: :cascade do |t|
t.string "social_network"
t.string "name_account"
t.integer "person_id", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["person_id"], name: "index_accounts_on_person_id"
end
create_table "lists", force: :cascade do |t|
t.string "name"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
create_table "people", force: :cascade do |t|
t.string "name"
t.integer "list_id", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["list_id"], name: "index_people_on_list_id"
end
create_table "posts", force: :cascade do |t|
t.string "post_text"
t.date "date"
t.string "link"
t.integer "account_id", null: false
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["account_id"], name: "index_posts_on_account_id"
end
add_foreign_key "accounts", "people"
add_foreign_key "people", "lists"
add_foreign_key "posts", "accounts"
end