ActiveRecord,按嵌套属性的值查找

Mar*_*tin 8 ruby ruby-on-rails ruby-on-rails-3

我有一个Phone嵌套到Message模型的模型.考虑到number属性在Phone模型内而不在Message?中,如何找到给定数字的所有消息?

这就是我目前得到的

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

class Phone < ActiveRecord::Base
   attr_accessible  :phone
   has_many :messages
end
Run Code Online (Sandbox Code Playgroud)

Nic*_*gan 16

Message.joins(:phone).where(phones: { phone: '555-555-5555' })
Run Code Online (Sandbox Code Playgroud)


klo*_*ner 6

Message.joins(:phone).where("phones.phone = ?","123-456-7890").all
Run Code Online (Sandbox Code Playgroud)

  • 就像一个注释一样,使用.all是多余的. (2认同)