6

我正在使用 active_admin 并在一个项目中进行设计。有一个管理页面可以邀请根本不会加载的用户。我已经尝试删除相当多的代码以获取有关正在发生的事情的一些线索。我得到的只是以下错误。

NoMethodError in Admin/invitations#index

Showing /Users/ianseabock/.rvm/gems/ruby-1.9.3-p448/gems/activeadmin-0.6.2/app/views/active_admin/resource/index.html.arb where line #1 raised:

undefined method `storage_total_stat_id_eq' for #<MetaSearch::Searches::User:0x007fb9ebde5ce0>
Extracted source (around line #1):

1: insert_tag renderer_for(:index)

在代码库中找不到未定义的方法“storage_total_stat_id_eq”。关于发生了什么的任何建议?

4

3 回答 3

8

听起来这是由 Active Admin 试图为其构建过滤器的关联引起的,但我猜该关联是非标准的。您可以使用以下代码查看默认情况下正在构建哪些过滤器:

ActiveAdmin.application.namespaces[:admin].resources[:User].filters

一个快速的解决方法是删除该过滤器:

ActiveAdmin.register User do
  # ...

  remove_filter :storage_total_stat

  # ...
end
于 2013-11-10T00:34:11.873 回答
1

检查是否已包含storage_total_stat_id已包含在允许的参数中:

ActiveAdmin.register Invitation do
    permit_params :storage_total_stat_id, :other, :attributes, :for, :this, :model
end
于 2015-01-12T17:43:30.933 回答
1

我有一个类似的问题 - 对我来说,我的 Active Admin 表单包含一个错误指定的“集合”过滤器。

我使用了 User.all.where(...) 而不是 User.where(...)。

一旦我删除了“.all”,它就解决了这个问题。

于 2015-08-21T16:28:29.000 回答