2014-02-12 31 views
1

我有一些型號的關係如下:如何設立相關模型太陽黑子搜索搜索多個屬性on Rails的

訂單有許多ORDER_ITEMS(型號OrderItem的);

訂單屬於具有關聯型號Company的一個供應商(型號User)。

我想使這些全文搜索的基礎上訂購:

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

以及在哪個模型中添加了這個可搜索的區塊? –

+0

在訂購模型中,我想按訂單進行搜索。 – Wiking

回答

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 
+0

兩者都很好,謝謝! – Wiking