【问题标题】:Creating and Using Scopes In Active Admin在 Active Admin 中创建和使用范围
【发布时间】:2013-12-12 21:44:51
【问题描述】:

如何在 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

这不起作用,有人可以帮我解释一下需要做什么

【问题讨论】:

    标签: ruby-on-rails ruby activeadmin scopes


    【解决方案1】:

    where 在作用域上的工作方式与在 Rails 中其他任何地方的工作方式相同:

    where(:expiry_date => Date.today)
    

    你给它一个带有键/值的散列。你的方式,使用==,基本上调用where(false),因为==不是“传入”,它会立即解决(作为一个符号和日期总是不相等的)并且结果值被传递给where.

    【讨论】:

    • 你知道我刚刚意识到什么,我太傻了,但我不相信你的答案,谢谢你的解释
    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多