我有一个模型,默认范围只显示状态设置为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>
如果我在模型中给作用域指定了不同的名称,这似乎仍然会发生。我该如何解决这个问题?
答案 0 :(得分:2)
通过将这个添加到寄存器块进行捐赠,我得到了我想要的东西:
controller do
def scoped_collection
Donation.unscoped
end
end
我仍然不明白为什么ActiveAdmin无法看到您在模型文件中定义的范围