Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActiveAdmin:未定义的方法';无范围';_Ruby On Rails_Scope_Activeadmin_Rails Activerecord - Fatal编程技术网

Ruby on rails ActiveAdmin:未定义的方法';无范围';

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 ... 但我得到了一个错

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

默认范围,其中(状态:0)

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

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不为空”)