仲介テーブル内の条件をチェックするこのRailsスコープをどのように記述すればよいですか?

order.paid == trueの場合、そのユーザーに関連付けられた(注文による)すべてのアドレスを返すスコープをUserに書くことはできますか?

Orderには、名前が異なる複数のAddressインスタンスが関連付けられていますが、Addressモデルは同じであることに注意してください。

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
0

1 答え

私が間違っている場合は私を修正してください。

 :has_many :addresses

注文にクラス***、それはあなたが戻ってそのユーザーに関連するすべてのレールを与える必要がありますと思います。私はレールでルビーを学んでいるので、これが間違っていると謝ります。

0
追加された