簡體   English   中英

ActiveAdmin基於getter創建自定義過濾器

[英]ActiveAdmin create a custom filter based on getter

我有一個帶過濾器的ActiveAdmin頁面。 我想基於getter(在資源上定義的方法,而不是ActiveRecord屬性)設置自定義過濾器。

class House
  def is_enchanted?
    # Ask to witches and ghosts...
  end
end

這是ActiveAdmin資源:

ActiveAdmin.register House do
  filter :is_enchanted?
end

上面的代碼引發了以下異常:

undefined method `is_enchanted?_eq' for #<Ransack::Search:0xc188178>

你可以使用范圍

車型/ house.rb

class House
  scope :is_enchanted?, 
      #where(....) 
end

管理員/ house.rb

ActiveAdmin.register House do
  scope :is_enchanted?
end

您可以創建名為“ransackers”的自定義Ransack搜索方法。 沒有任何官方文檔,所以你需要在GitHub上的Ransack問題跟蹤器上進行一些搜索,以便進行類似的討論: https//github.com/activerecord-hackery/ransack/issues/36

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM