2012-12-10 11 views
12

Aktif yönetici ile varsayılan değere sahip filtreye sahip olmanın mümkün olduğunu bilmek ister misiniz? Bu yönetici kullanıcı için verileri önyükleme için yararlı olacaktır. [: Q] boş veya params [: kapsam] boş bazıları parametreler ise filtreyi ayarlamanız gerekir durumlardaActiveAdmin - Varsayılan değerdeki filtre

:

filter :country, :default=>'US' 

cevap

18

Sen

before_filter :only => [:index] do 
    if params['commit'].blank? 
     #country_contains or country_eq .. or depending of your filter type 
     params['q'] = {:country_eq => 'US'} 
    end 
    end 

UPD before_filter tanımlayarak bunu yapabilir

nedenle bu iyi çalışabilir

before_filter :only => [:index] do 
    if params['commit'].blank? && params['q'].blank? && params[:scope].blank? 
     #country_contains or country_eq .. or depending of your filter type 
     params['q'] = {:country_eq => 'US'} 
    end 
    end 
+0

Bir çekicilik gibi çalışır. Teşekkürler Fivell! – TonyTakeshi

+0

her zaman hoş geldiniz!) – Fivell

+1

Bu, app/admin/model.rb dosyasında bir kontrolör bloğunda gitmelidir. Örneğin. denetleyici yapmak before_filter ... end –

4

Uyarlanmış Fivells yanıtları kapsam ve yüklemelerle doğru bir şekilde çalışacak şekilde uyarlandı. Hayal kırıklığı hissediyor ama işi yapıyor gibi görünüyor. Açıklamalarda açıklamalı niyet.

before_filter only: :index do 
    # when arriving through top navigation 
    if params.keys == ["controller", "action"] 
     extra_params = {"q" => {"country_eq" => "US"}} 

     # make sure data is filtered and filters show correctly 
     params.merge! extra_params 

     # make sure downloads and scopes use the default filter 
     request.query_parameters.merge! extra_params 
    end 
    end 
İlgili konular