ActiveAdmin:未定义的方法'unscoped'

时间:2013-05-24 21:07:12

标签: ruby-on-rails scope activeadmin rails-activerecord

我有一个模型,默认范围只显示状态设置为0的记录:

  

default_scope where(status:0)

这很好用,当我在ActiveAdmin页面中显示所有记录时,它只显示状态为0的那些记录。但是,我想在管理面板中创建另一个显示所有记录的页面,未范围。现在,我有:

ActiveAdmin.register Donation, as: "All Donations" do

  scope_to :unscoped

  index :title => "Donations" do
    ...

但是我收到了这个错误:

undefined method `unscoped' for #<Admin::AllDonationsController:0x007feac043d638>

如果我在模型中给作用域指定了不同的名称,这似乎仍然会发生。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

通过将这个添加到寄存器块进行捐赠,我得到了我想要的东西:

controller do
  def scoped_collection
    Donation.unscoped
  end
end

我仍然不明白为什么ActiveAdmin无法看到您在模型文件中定义的范围