2012-09-24 55 views

回答

4

我遇到過同樣的問題。通過source code判斷此功能不支持

def sort_order(chain) 
     params[:order] ||= active_admin_config.sort_order 
     if params[:order] && params[:order] =~ /^([\w\_\.]+)_(desc|asc)$/ 
     column = $1 
     order = $2 
     table = active_admin_config.resource_table_name 
     table_column = (column =~ /\./) ? column : 
      "#{table}.#{active_admin_config.resource_quoted_column_name(column)}" 

     chain.reorder("#{table_column} #{order}") 
     else 
     chain # just return the chain 
     end 
    end 

there is猴補丁解決方案。

+0

謝謝,我以同樣的方式實現了這個 – RomanKapitonov

+0

嗨,我需要在我的web應用程序中實現此功能(默認排序多列)。 我應該在哪裏寫上述方法?以及什麼是語法來包括在默認排序..? 這是我當前的代碼: ActiveAdmin.register Game,{:sort_order =>:game_date_desc}做 結束。 我需要寫
ActiveAdmin.register遊戲,{:sort_order => [:game_date_desc,:game_order_asc]}做 結束。 在此先感謝! –

+0

@Breenho我也想設置默認的排序順序是更復雜的東西。我添加了一個看起來像這樣的monkeypatch https://gist.github.com/ilyakatz/ad94969b400c311f2522 – katzmopolitan