使用 search_cop 进行全球化 - 未知属性

globalize with search_cop - unknown attribute

我正在尝试同时使用 globalize gem 和 search_cop。在我的模型中,我有:

class Museum < ApplicationRecord
  include SearchCop

  has_one_attached :hero_image
  translates :name, :address, :description, :facilities, :hours, :tickets

  search_scope :search do
    attributes :name, :address
    options :name, :type => :fulltext
    options :address, :type => :fulltext
  end
end

但是当我去搜索时我得到:

irb(main):006:0> Museum.search("art")
SearchCop::UnknownAttribute: Unknown attribute museums.name

是否可以一起使用 Globalize 和 SearchCop?如果是这样,我如何指定要搜索的翻译字段?

要将 Globalize 与 SearchCop 一起使用,您需要通过它们的关联来定义已翻译的属性。所以像:

search_scope :search do
  attributes name: "translations.name", address: "translations.address"
  options :name, :type => :fulltext
  options :address, :type => :fulltext
end