Я пытаюсь использовать pg_search для поиска по двум моделям. У меня есть модель «Наем» с двумя столбцами «child_id» и «book_id». Я хочу проиндексировать дочернее имя, связанное с child_id в модели «Дети».
Моя модель выглядит так:
Hire.rb
class Hire < ActiveRecord::Base
belongs_to :book
belongs_to :child
accepts_nested_attributes_for :book
accepts_nested_attributes_for :child
include PgSearch
multisearchable :against => [:child_id, child_forename]
def child_forename
child.forename
end
end
но когда я пытаюсь построить индекс (rake pg_search:multisearch:rebuild[Hires]), я получаю следующую ошибку:
rake aborted!
NameError: undefined local variable or method `child_forename' for Hire (call 'Hire.connection' to establish a connection):Class
/Library/Ruby/Gems/2.0.0/gems/activerecord-4.2.4/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
/Users/James/Documents/websites/STAlibrary/app/models/hire.rb:12:in `<class:Hire>'
/Users/James/Documents/websites/STAlibrary/app/models/hire.rb:1:in `<top (required)>'
/Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:457:in `load'
Как я могу построить этот запрос для индексации дочернего имени?