如何在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
这不行,有人可以帮助我解释需要做什么吗
答案 0 :(得分:1)
where
与范围一样,与Rails中的其他任何地方一样:
where(:expiry_date => Date.today)
你给它一个带键/值的哈希值。你的方式,使用==
,基本上调用where(false)
,因为==
没有“传入”,它立即被解决(作为符号为false,日期将始终不相等)和结果值将传递给where
。