2

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

default_scope where(状态:0)

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

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

  scope_to :unscoped

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

但我收到了这个错误:

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

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

4

1 回答 1

2

通过将其添加到捐赠的注册块中,我能够得到我想要的东西:

controller do
  def scoped_collection
    Donation.unscoped
  end
end

我还是不明白为什么 ActiveAdmin 看不到你在模型文件中定义的范围

于 2013-05-24T22:11:41.280 回答