我正在使用searchkick gem在Ruby on Rails应用程序中进行搜索。
我有三个模型GrandParent
,Parent
和Child
,其中:
class Parent < ApplicationRecord
has_many :childs
和
class GrandParent < ApplicationRecord
has_many :parents
说,Parent
的值为name
。 Child
的值为content
当我尝试在GrandParent
中找到parents
且name
与搜索查询匹配的记录时,我可以使用以下内容:
searchkick
def search_data
{
parents: parents.map(&:name).join(' '),
}
end
但是,我如何执行搜索以查找GrandParent
中parents
childs
content
且Child
值与搜索查询匹配的记录?
换句话说,如果查询与GrandParent
的内容匹配,则应在搜索结果中返回ls *.csv | Rename-Item -NewName {$_.name -replace "Default","VOD"}
。
答案 0 :(得分:0)
我通过将以下内容添加到GrandParent
模型来完成它:
searchkick
def search_data
{
parents: parents.map(&:name).join(' '),
childs: get_childs_contents.join(' ')
}
end
def get_childs_contents
a = []
parents.each do |p|
p.childs.each do |c|
a << c.content
end
end
return a
end