Hallo,
Ich habe folgendes Problem. Wenn ich versuche, Modelldatensätze auszugeben, möchte ich Datensätze mit 'dismiss'-Feld gleich 'FALSE' ausschließen. Wie könnte ich das tun? Ist es ohne 'default_scope' möglich?
Mein Codebeispiel:
ActiveAdmin.register Approval do
index do
column :id
column 'Пользователя', :user
column 'Заапрувил член клуба', :member
column :dismiss
default_actions
end
end
Sie können die Methode scoped_collection
in Ihrem Ressourcencontroller überschreiben, um Ressourcen mit einer benutzerdefinierten Abfrage abzurufen.
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
Ich habe versucht, scoped_collection so zu überschreiben, wie Sie es geschrieben haben. Aber alle Datensätze werden trotzdem ausgegeben. Hier ist die Abfrage, die sich als Ergebnis bildet:
where Approval Load (0.2ms) SELECT "approvals".* FROM "approvals" ORDER BY "approvals"."id" desc LIMIT 30 OFFSET 0
Tnx. Lösung:
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
Hilfreichster Kommentar
Tnx. Lösung: