こんにちは、
次の問題があります。 モデルレコードを出力しようとすると、 'dismiss'-field equal'FALSE'のレコードを除外したいと思います。 どうすればこれを行うことができますか? 'default_scope'なしで可能ですか?
私のコード例:
ActiveAdmin.register Approval do
index do
column :id
column 'Пользователя', :user
column 'Заапрувил член клуба', :member
column :dismiss
default_actions
end
end
リソースコントローラーのscoped_collection
メソッドをオーバーライドして、カスタムクエリでリソースをフェッチできます。
ActiveAdmin.register Approval do
index do
column :id
column 'Пользователя', :user
column 'Заапрувил член клуба', :member
column :dismiss
default_actions
end
def scoped_collection
Approval.where(dismiss: false) # this could be **Approval.dismissed**
end
end
私はあなたが書いた方法でscoped_collectionをオーバーライドしようとしました。 ただし、すべてのレコードは引き続き出力されます。 結果として形成されるクエリは次のとおりです。
where Approval Load (0.2ms) SELECT "approvals".* FROM "approvals" ORDER BY "approvals"."id" desc LIMIT 30 OFFSET 0
Tnx。 解決:
ActiveAdmin.register Approval do
index do
column :id
column 'Пользователя', :user
column 'Заапрувил член клуба', :member
default_actions
end
controller do
def scoped_collection
Approval.where(dismiss: false)
end
end
end
最も参考になるコメント
Tnx。 解決: