Rails 2.3.5 Searchlogic 2.3.27
У меня есть следующие модели:
class Outbreak < ActiveRecord::Base
has_many :bacterial_agents, :dependent => :destroy
has_many :bacteria, :through => :bacterial_agents
has_many :viral_agents, :dependent => :destroy
has_many :viruses, :through => :viral_agents
end
class BacterialAgent < ActiveRecord::Base
belongs_to :outbreak
belongs_to :bacterium
end
class Bacterium < ActiveRecord::Base
has_many :bacterial_agents
has_many :outbreaks, :through => :bacterial_agents
end
class ViralAgent < ActiveRecord::Base
belongs_to :outbreak
belongs_to :virus
end
class Virus < ActiveRecord::Base
has_many :viral_agents
has_many :outbreaks, :through => :viral_agents
end
В настоящее время я пытаюсь заставить Searchlogic принять "ИЛИ «условие для поиска между моделями Virus и Bacterium, по этим линиям;
params[:search] = {"bacterial_agents_bacterium_name_like_any" => "VTEC O157", "viral_agents_virus_name_like_any" => "NOROVIRUS"}
@search = Outbreak.search(params[:search])
Область« _or_viral_agents_virus_name_like »не распознается, хотя обе области работают без« или »,В возвращаемом выводе должны быть показаны все записи, в которых имя бактерии похоже на «VTEC O157» или имя вируса похоже на «NOROVIRUS» (предложение «any» должно содержать несколько имен для каждого).
Есть идеи?