RailsAdmin - 使用关联范围限制关联记录

时间:2014-04-23 02:22:29

标签: ruby-on-rails ruby rails-activerecord rails-admin

根据以下看似完美的项目维基文章,我应该能够轻松地限制相关记录的数量。

https://github.com/sferik/rails_admin/wiki/Associations-scoping

然而,我似乎无法使其发挥作用。我有以下代码:

class Physician < ActiveRecord::Base
  has_many :patients, through :assignments

  rails_admin do
    configure :patients do
      associated_collection_cache_all false
      associated_collection_scope do
        Proc.new { |scope|
          scope = scope.limit(1)
        }
      end
    end
end

但这没有做任何事情。此外,默认情况下,它应该将记录数量限制为30,但它会拉动所有内容。我仔细检查了rails_admin.rb配置文件,没有任何内容覆盖该值。

我看到的另一个问题是,在使用管理功能时,有时我会注意到失控的Ruby进程。我用谷歌搜索是否有其他人有类似的问题,但我找不到任何帖子。

1 个答案:

答案 0 :(得分:0)

associated_collection_cache_all设置为true似乎确实如此,limit根本没有被考虑在内。但是,如果您只加载了几十个关联范围的记录,则没有理由不加载所有这些记录。删除associated_collection_cache_all false行,它应该与您的限制完美配合。