Columna ambigua en mysql/rieles encontrar método
-
29-10-2019 - |
Pregunta
Estoy recibiendo este error
Mysql :: error: columna 'id' en la lista de campo es ambiguo
Cuando se usa un método de búsqueda como tal: self.prompts.find(:all, :select => 'id')
Los modelos se llaman utilizando un HAS_MANY: a través de la asociación, por lo que MySQL se queja de que hay múltiples columnas de 'ID', ya que las 3 tablas que se utilizan tienen una columna 'ID'.
Busqué esto y entendí lo que está pasando mal en el extremo SQL, pero no sé cómo resolverlo en el método de búsqueda de Activerecord, y no estoy seguro de mis habilidades SQL para intentar rodar mi propia consulta SQL. ¿Hay alguna forma de masajear el método de búsqueda en algo que jugará bien?
editar
Aquí está el código del modelo de actor relevante:
class Actor < ActiveRecord::Base
has_many :acts, :dependent => :destroy
has_many :decisions, :through => :acts, :order => 'created_at'
has_many :prompts, :through => :decisions, :order => 'id'
No hay solución correcta