2012-05-25 14 views
7

Tengo un modelo Phone anidado en el modelo Message. ¿Cómo puedo encontrar todos los mensajes por un número dado teniendo en cuenta que el atributo number está dentro del modelo Phone y no en Message?ActiveRecord, Buscar por valor del atributo anidado

Esto es lo que actualmente tengo

class Message < ActiveRecord::Base 
    attr_accessible :phone_id 
    belong_to :phone 
end 

class Phone < ActiveRecord::Base 
    attr_accessible :phone 
    has_many :messages 
end 
+0

puede publicar las definiciones de modelos? –

Respuesta

6
Message.joins(:phone).where("phones.phone = ?","123-456-7890").all 
+2

Al igual que una nota, el uso de .all es superfluo. –

13
Message.joins(:phone).where(phones: { phone: '555-555-5555' }) 
Cuestiones relacionadas