Ассоциации не индексируются автоматически как вложенные данные.
В вашем случае вам необходимо специально включить ассоциации, которые вы хотите проиндексировать, в ваш метод search_data
.
Например, , чтобы включить все поля в вашу модель ExpenditureItem
, а также ассоциацию Expenditure
, вы можете сделать:
def search_data
as_json.merge({
expenditure: expenditure.as_json
})
end
Если вам не нужно индексировать все атрибуты, вы можете, конечно, изменить параметры as_json
для включения или исключения атрибутов и методов экземпляров, которые требуются в вашем индексе.
Кроме того, чтобы индексирование было более производительным, обязательно включите ассоциацию в search_import
объем, например
scope :search_import, -> { includes(:expenditure) }