Vorrei sapere se è possibile avere un filtro con valore predefinito con admin attivo? Ciò sarà utile per il precaricamento dei dati per l'utente amministratore.ActiveAdmin - Filtro con valore predefinito
filter :country, :default=>'US'
Vorrei sapere se è possibile avere un filtro con valore predefinito con admin attivo? Ciò sarà utile per il precaricamento dei dati per l'utente amministratore.ActiveAdmin - Filtro con valore predefinito
filter :country, :default=>'US'
È possibile farlo attraverso la definizione di before_filter
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:
in alcuni casi è necessario impostare il filtro se params [: q] è vuoto o params [: scope] vuote
quindi questo potrebbe funzionare meglio
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
La risposta adattata di Fivells per funzionare correttamente con ambiti e download. Sembra hacky ma sembra fare il lavoro. Intenzione annotata nei commenti
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
Funziona come un fascino. Grazie Fivell! – TonyTakeshi
sempre benvenuti!) – Fivell
Questo dovrebbe andare in un blocco controller all'interno del file app/admin/model.rb. per esempio. regolatore non before_filter ... fine –