2013-12-12 61 views
0

如何在Active Admin中使用作用域,在此示例中,我嘗試顯示所有到期日等於今天日期的成員。在Active Admin中創建和使用作用域

class Member < ActiveRecord::Base 
--- Code removed for brevity 


#Scopes 
    scope :expired_today, where(:expiry_date == Date.today) 
end 

在主動管理儀表板的話,我想顯示所有那些誰已經過期

columns do 

    column do 
    panel "Expired Memberships", :class => 'expiredmemberships' do 
    table_for Member.expired_today do 
     column("Name") do |m| 
     "#{m.forename} #{m.surname}" 
     end 
    end 
    end 
    end 
end 

這不,雖然工作的成員,可能有人給我伸出援助之手有什麼需要解釋做請

回答

1

where作品與範圍它工作在其他地方Rails中以同樣的方式:

where(:expiry_date => Date.today) 

你給它一個鍵/值的散列。您的方式使用==,基本上調用where(false),因爲==未被「傳入」,它會立即解析(因爲符號和日期將始終不相等)並將結果值傳遞給where

+0

你知道我剛剛意識到的是什麼,對我來說太愚蠢了,雖然不好意思給你答案,謝謝你解釋 – Richlewis

相關問題