2012-02-09 50 views
0

我創建了用戶模型。在ActiveAdmin中,集合不被重新加載到過濾器中

在#INDEX我希望能夠通過選擇可用值過濾這些字段(職位,公司,鎮),但它似乎User.all檢索總是相同的記錄集即使我添加新用戶:

filter :id 
filter :gender, :as => :select, :collection => Interlocutor::GENDERS 
filter :last_name 
filter :first_name 
filter :email 
filter :phone 
filter :position, :as => :select, :collection => User.all.map(&:position) 
filter :company, :as => :select, :collection => User.all.map(&:company) 
filter :zipcode 
filter :town, :as => :select, :collection => User.all.map(&:town) 
filter :created_at 
filter :updated_at 

我必須重新啓動服務器才能使其工作。

任何想法?

回答

0

解決方案是覆蓋默認行爲。在控制器中:

before_filter :use_dynamic_filter, :only => :index 

def use_dynamic_filter 
    self.class.reset_filters! 
    self.class.filter :your_filter_defs_here, :as => :select, :collection => User.all 
end 

感謝德魯Ulmer。