2013-05-10 18 views
2

我有一個Active Admin索引頁面用於某些資源。如何在Active Admin中爲方法(非字段)編寫過濾器?

ActiveAdmin.register Request do 
    index do 
    column :created_at 
    column :content 
    column "Approved", :approved? 
    default_actions 
    end 

    filter :created_at 
    filter :content 
    filter :approved? 
end 

問題是,它不生成approved?請求過濾器(但它正確地產生塔)。我認爲這是因爲approved是一種方法,如果approved_at不是nil,則返回true。如何在這種情況下寫入過濾器?

回答

1

試試這個創建使用範圍過濾器按鈕:

# model/request.rb 
scope :approved, where("approved_at IS NOT NULL") 

# or...if you have other default values on approved_at column you can try this 
scope :approved, where("approved IS NOT", nil) 
scope :approved, where("approved IS NOT ?", "") 

#app/admin/requests.rb 
scope :approved 

在主動管理領域的一些詳細信息:http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries

+0

'高清批准?如果approved_at then true else false end end' – ciembor 2013-05-11 15:32:18

+0

我添加了按鈕,通過在approved_at列上進行作用域批准進行過濾。請嘗試 :) – James 2013-05-13 04:01:43

相關問題