Sto utilizzando Ruby 2.2.1 e Rails 4.2 per creare un'app. In uno dei miei punti di vista, ho ricevuto il seguente messaggio:il metodo non definito `include 'per l'istanza dell'oggetto
N+1 Query detected Politician => [:account] Add to your finder: :includes => [:account]
N+1 Query method call stack
app/models/user.rb:19:in `account'
app/controllers/home_controller.rb:6:in `index'
Qui è la mia azione a controller di casa:
@account = current_user.account
@new_contacts = current_user.contacts.created_this_week.count
@new_collabs = current_user.collaborators.created_this_week.count
E la sezione del modello utente:
belongs_to :role, polymorphic: true, dependent: :destroy
delegate :account, to: :role
delegate :collaborators, to: :role
delegate :contacts, to: :role
I già provato a quanto segue:
@account = current_user.account.includes(:contacts, :collaborators)
Ma ho solo l'errore:
undefined method `includes' for <Account:0x007fa7474e04a8>
ho fatto qualche ricerca e ciò che sembra è che comprende opere solo per i rapporti (che non è il caso).
Il proiettile è preoccupante per niente? Cosa posso fare per smettere di essere una query N + 1?
Grazie!
cosa c'è nella riga n. 19? spettacolo plz linea –
@R_O_R 19 è delegato ': conto, a:: role' linea 6 della home_controller è: ' @account = current_user.account' –