Domanda

Sto ricevendo questo errore

Mysql :: errore: colonna 'id' nell'elenco dei campi è ambiguo

Quando si utilizza un metodo Trova come tale: self.prompts.find(:all, :select => 'id')

I modelli vengono chiamati usando un Has_Many: attraverso l'associazione, quindi MySQL si lamenta che ci sono più colonne di "ID", poiché tutte e 3 le tabelle utilizzate hanno una colonna "ID".

Ho cercato questo e ho capito cosa sta andando storto alla fine di SQL, ma non so come risolverlo nel metodo ActiveverId Find, e non sono fiducioso nelle mie capacità SQL per provare a lanciare la mia query SQL. C'è un modo per massaggiare il metodo trova in qualcosa che giocherà bene?

modificare

Ecco il codice modello di attore pertinente:

class Actor < ActiveRecord::Base
  has_many :acts, :dependent => :destroy
  has_many :decisions, :through => :acts, :order => 'created_at'
  has_many :prompts, :through => :decisions, :order => 'id'

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top