2014-02-07 58 views
3

在我的主動管理的代碼,我有以下幾點:主動聯繫過濾器和範圍

scope :all 
    scope :in_progress 
    scope :completed, default: true 
    scope :processed 

    filter :order_number, label: "by order number", collection: Order.all.map(&:order_number) 
    filter :order_date, label: "orders placed between", collection: Order.all.map(&:order_date) 

各個選項卡下的過濾器顯示結果。所以,現在,當用戶過濾結果時,我希望看到所有選項卡下的所有結果(即用戶被重定向到「全部」範圍選項卡)。我無法找到實現此目標的方法。在此先感謝:)

回答

1

您可以使用Active Admin FilterHidden Field。 (我寫了一首歌的CoffeeScript這個代碼)

$('.index.admin_orders.active_admin .filter_form').submit -> 
    scope = $(@).find('#hidden_active_admin_scope').value 
    if(scope) 
     $(@).find('#hidden_active_admin_scope').value = 'all' 
    else 
     $(@).find('div.buttons').append('<input id="hidden_active_admin_scope" name="scope" type="hidden" value="all">') 
- :

,你可以在這樣的js實現

1

ActiveAdmin不支持從範圍中刪除過濾選項。您始終可以將這些範圍轉換爲一個過濾器(例如order_status),這可能會將您帶到您想要的位置。