Ruby on rails ActiveAdmin:未定义的方法';无范围';
我有一个模型,其中默认范围仅显示状态设置为0的记录: 默认范围,其中(状态:0) 这很好,当我在ActiveAdmin页面中显示所有记录时,它只显示状态为0的记录。但是,我想在管理面板中创建另一个页面,显示所有记录,不带范围。现在,我有:Ruby on rails ActiveAdmin:未定义的方法';无范围';,ruby-on-rails,scope,activeadmin,rails-activerecord,Ruby On Rails,Scope,Activeadmin,Rails Activerecord,我有一个模型,其中默认范围仅显示状态设置为0的记录: 默认范围,其中(状态:0) 这很好,当我在ActiveAdmin页面中显示所有记录时,它只显示状态为0的记录。但是,我想在管理面板中创建另一个页面,显示所有记录,不带范围。现在,我有: ActiveAdmin.register Donation, as: "All Donations" do scope_to :unscoped index :title => "Donations" do ... 但我得到了一个错
ActiveAdmin.register Donation, as: "All Donations" do
scope_to :unscoped
index :title => "Donations" do
...
但我得到了一个错误:
undefined method `unscoped' for #<Admin::AllDonationsController:0x007feac043d638>
未定义的方法“unscoped”#
如果我在模型中为范围指定了不同的名称,这种情况似乎仍然会发生。如何解决此问题?通过将此项添加到捐款登记栏,我可以得到我想要的:
controller do
def scoped_collection
Donation.unscoped
end
end
我仍然不明白为什么ActiveAdmin看不到您在模型文件中定义的范围您的ActiveAdmin版本是什么?不久前也有一个类似的问题:我正在使用0.6.0Andrew版本如何取消作用域联接。我使用了
default\u scope->{keep}
来获取除丢弃之外的所有记录。我要丢弃所有带或不带的记录。这是我的查询Payout.unscoped.joins(“payments.id=payments.payments\u id”)。joins(“LEFT-OUTER-JOIN-virtual\u-accounts-ON-payments.mode\u-id=virtual\u-accounts.id”)。其中(“payments.discarded\u-at为NULL或payments.discarded\u-at不为NULL”)。其中(“virtual_accounts.discarded_at为空或virtual_accounts.discarded_at不为空”)