Ruby on rails 如何编写这个Rails作用域来检查中间表中的条件?

Ruby on rails 如何编写这个Rails作用域来检查中间表中的条件?,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,如何在用户上编写一个作用域,该作用域通过order返回与该用户关联的所有地址,其中order.paid==true 请注意,Order有多个具有不同名称的关联地址实例,但地址模型是相同的 class Order < ActiveRecord::Base belongs_to :shipping_address, :class_name => "Address", :foreign_key => :shipping_address_id belongs_to :b

如何在用户上编写一个作用域,该作用域通过order返回与该用户关联的所有地址,其中order.paid==true

请注意,Order有多个具有不同名称的关联地址实例,但地址模型是相同的

class Order < ActiveRecord::Base
    belongs_to :shipping_address, :class_name => "Address", :foreign_key => :shipping_address_id
    belongs_to :billing_address, :class_name => "Address", :foreign_key => :billing_address_id
    belongs_to :user

    # the order table has a boolean 'paid' field
end

class Address < ActiveRecord::Base
    has_one :order
end

class User < ActiveRecord::Base
    has_many :orders
    # I want to create a scope here that returns addresses that belong to paid orders
end

如果我错了,请纠正我,但如果您添加了

 :has_many :addresses
对于类订单,我认为***它应该将与该用户相关的所有rails返回给您。我正在学习RubyonRails,如果这是错误的,请道歉