我有一些关系模型如下:
订单有很多order_items(型号OrderItem);
订单属于一个供应商(型号用户),该供应商具有关联的型号公司。
我希望根据订单生成这些全文搜索:
1)OrderItem的属性:名称,描述
2)供应商的公司名称
然后我设置了可搜索的属性:
searchable do
...
text :order_items do
order_items.map { |item| item.name item.description } # 1
end
text :vendor do
vendor.company.name # 2
end
重新编制索引时,第1行和第2行都会报告为错误。
所以,请帮助如何编写这两种情况的代码。 感谢。
答案 0 :(得分:2)
您可以在模型的类和实例方法上编写可搜索的方法。做类似以下的事情:
class Order
searchable do
text :order_items_search
text :vendor_search
end
def order_items_search
self.order_items.map{|item| item.name + ',' + item.description}.join(',')
end
def vendor_search
self.vendor.company.name
end
end