Sto lavorando a un progetto che utilizza ActiveAdmin per il suo backend di amministrazione.ActiveAdmin carica automaticamente la tabella di associazione completa
Ho due modelli, un modello di libro che ha_molti prodotti. Quando provo ad accedere alla vista indice dei prodotti in ActiveAdmin, sembra provare a caricare la tabella completa dei libri in memoria (ci sono circa 1,5 milioni di libri nel mio database). L'utilizzo della CPU arriva al 100% e l'utilizzo della memoria raggiunge i gigabyte.
l'attivazione di registrazione mysql conferma che questo è ciò che accade quando questo punto di vista si chiama:
17 Query SELECT `books`.* FROM `books`
Per quanto posso dire questo accade prima di ogni tentativo di caricare i prodotti.
di capire questo problema ho messo a nudo i modelli fino alla loro ossa nude:
class Product < ActiveRecord::Base
belongs_to :book
end
class Book < ActiveRecord::Base
has_many :products
end
Ho anche ridotto la definizione AA alla sua forma più elementare:
ActiveAdmin.register Product do
end
È questo normale per ActiveAdmin ? Non sembra un comportamento desiderabile.
appena avuto lo stesso problema, 10s di migliaia di record estratti per uno stupido elenco a discesa -_- Un po 'fastidioso di dover reinserire manualmente il resto dei filtri, apparentemente è tutto personalizzato o non personalizzato, ma qualunque sia - batte battendo backend! –