Rails 3.1、ActiveAdmin 0.3.4。ActiveAdmin、多相関連、カスタムフィルタ
私の質問は、this oneと多少似ていますが、データモデリングの点では十分に異なりますが、私はそれが自分自身の応答を保証すると思っています。モデル:
class CheckoutRequest < ActiveRecord::Base
has_one :request_common_data, :as => :requestable, :dependent => :destroy
end
class RequestCommonData < ActiveRecord::Base
belongs_to :requestable, :polymorphic => true
end
RequestCommonData
モデルは、私はActiveAdminのCheckoutRequest
インデックスページでフィルタリングできるようにしたいと思いcompleted
フィールド(boolean)を持っています。私は、以下のようないくつかの異なる方法を試みました。
filter :completed, :collection => proc { CheckoutRequest.all.map { |cr| cr.request_common_data.completed }.uniq }
この結果、フィルタが表示されません。次のメタサーチエラーメッセージの
filter :completed, :as => :select, :collection => proc { CheckoutRequest.all.map { |cr| cr.request_common_data.completed }.uniq }
結果:
undefined method `completed_eq' for #<MetaSearch::Searches::CheckoutRequest:0x007fa4d8faa558>
同じprocがコンソールに[true, false]
を返し、次のように、ラインに:as => :select
を追加します。
どのような提案も大歓迎です。ありがとう!あなたは「のwheres」はブール値のためにそれを見ることができますmeta_search宝石のページから
お返事ありがとうございます!私は見て、これが私のために働くかどうか見ていきます。そうであれば、これを正解とマークします。 – justinbach
ありがとう!これは私にとって素晴らしい作品です! –