2012-10-15 63 views
3

我正在處理這一個星期的真正挑戰,希望有人在這裏有一個解決方案。Ruby on Rails - 在Wice Grid中顯示高級搜索結果

在一個Web應用程序中,我有一個「客戶」模型,它與很多其他表格有關,例如「地址」,「聯繫人」,「交易」,「產品」等。希望允許我的用戶根據一系列相關模型屬性(如交易類型,產品到期日期等)搜索客戶。此外,在應用程序中的許多其他地方,我們使用「Wice Grid」顯示數據,我們喜歡這個網格的過濾器和排序功能。

即使它可能工作,我認爲將所有搜索屬性顯示在一個大Wice網格的單獨列中將是一個壞主意,因爲網格將寬4英尺!

所以基本上,我想要實現的是擁有一個包含相關模型屬性的高級搜索表單,其中用戶將kind_of「pre_filter」(範圍)顯示在Wice Grid中的「Customers」。在這個Wice Grid結果中,我只顯示「Customers」屬性,因此用戶可以使用內置的過濾器和Wice Grid的排序功能對這些「Customer」屬性進行排序。但非常不幸的是,我們無法告訴Wice Grid使用特定的數據子集(範圍)。那麼,我找不到如何!

所以任何想法如何解決我的問題將非常感激。即使你的建議不包括Wice Grid,我會認爲它是因爲我處於死路一條。

非常感謝閱讀

回答

1

聽起來Ransack會在這裏一個不錯的選擇。它允許您執行高級搜索查詢(包括特定模型的關係)。

我以前從未使用Wice Grid,但通過瀏覽文檔,應該可以將Ransack查詢的結果直接傳遞到initialize_grid

一個例子:

class CustomersController < ApplicationController 
    def index 
    @customers = Customer.search(query) 
    @customers_grid = initialize_grid(@customers.result) 
    end 

    private 

    def query 
    params[:query] 
    end 
end 

我建議你閱讀了搜查的文檔,這是非常有據可查的。

相關問題