Rails:ActiveAdmin自定义过滤器返回错误

时间:2013-10-28 20:54:47

标签: ruby-on-rails activeadmin meta-search

我正在尝试使用ActiveAdmin安装设置自定义过滤器,但它会返回一些错误。

用户模型:

class User < AR::Base
   has_many :gpas

   def current_gpa
    return nil if gpas.blank?
    @current_gpa ||= (gpas.where(year: classification).first || gpas.order("updated_at DESC").first)
   end

end

ActiveAdmin:

ActiveAdmin.register Athlete do
  filter :current_gpa_value, as: :string
end

我得到的错误是: ActionView::Template::Error (undefined method current_gpa_value_contains for #<MetaSearch::Searches::User:0x007f982df8fd28>)

2 个答案:

答案 0 :(得分:0)

ActiveAdmin将metasearch用于过滤器。查看此example如何设置自定义搜索方法。

答案 1 :(得分:0)

您可以使用范围:

class User < AR::Base
   has_many :gpas
scope :current_gpa, where(....)



ActiveAdmin.register Athlete do
  scope :current_gpa
end