Ruby on rails 如何为Rails上的太阳黑子搜索关联模型设置可搜索的多个属性
我有一些模型,其关系如下: 订单有许多订单项(模型订单项) 订单属于一个具有关联模型公司的供应商(模型用户) 我想根据顺序对这些全文进行搜索: 1) OrderItem的属性:名称、说明Ruby on rails 如何为Rails上的太阳黑子搜索关联模型设置可搜索的多个属性,ruby-on-rails,sunspot,Ruby On Rails,Sunspot,我有一些模型,其关系如下: 订单有许多订单项(模型订单项) 订单属于一个具有关联模型公司的供应商(模型用户) 我想根据顺序对这些全文进行搜索: 1) OrderItem的属性:名称、说明 2) 供应商的公司名称 然后我设置了如下可搜索属性: searchable do ... text :order_items do order_items.map { |item| item.name item.description } # 1 end text :vendor do v
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都将报告为错误
因此,请帮助我们如何为这两种情况编写代码。
谢谢。您可以在模型的类和实例方法上编写可搜索的方法。执行以下操作:
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
您在哪个模型中添加了这个可搜索块?按顺序模型,正如我想按顺序搜索一样。