Как использовать pg_search с глобализацией?

Я использую гем pg_search для поиска в своем приложении rails. Основная модель в моем приложении была:

class Book < ActiveRecord::Base
  include PgSearch
  pg_search_scope :search_everywhere, against: [:author, :title, :description]
end

Он отлично работал с

@books = Book.search_everywhere(params[:search])

в индексном действии BooksController. Затем я добавил гем «globalize»:

  translates :title, :author, :publisher, :description, :fallbacks_for_empty_translations => true

И теперь поиск не работает.

Book.search_everywhere(params[:search])

не могу найти ни одного поля. Кто-нибудь использовал драгоценный камень pg_search с драгоценным камнем globalize?


person Victor    schedule 13.03.2015    source источник
comment
is not working - что это значит???   -  person Maxim    schedule 13.03.2015
comment
search_everywhere не может найти ни одного поля.   -  person Victor    schedule 13.03.2015


Ответы (1)


Я нашел правильное решение: Gem «globalize» создал новую таблицу «book_translations». Поэтому я должен искать в этой таблице:

#book.rb
class Book < ActiveRecord::Base
  include PgSearch
  has_many :book_translations
  translates :title, :author, :publisher, :description, :fallbacks_for_empty_translations => true
  pg_search_scope :search_everywhere, :associated_against  => {:book_translations => [:title, :author, :description]}
end

#book_translation.rb
class BookTranslation < ActiveRecord::Base
  belongs_to :book
end
person Victor    schedule 14.03.2015