范围相关的模型“created_at”

时间:2013-06-22 07:07:34

标签: ruby-on-rails scope model-associations

我有三种模式:用户,产品和所有权。所有权包含product_id:integeruser_id:integer。我想按created_at DESC列出我的产品范围。

应用/模型/ product.rb

        .
        .
        .
default_scope -> { order('products.created_at DESC') }
        .
        .
        .

但是当我执行user.owned_products时,它的排序方式不像created_at DESC。我怎样才能做到这一点 ?我必须在用户模型中添加范围吗?

以下是我的用户和产品之间的关系:

应用/模型/ user.rb

        .
        .
        .
has_many :ownerships
has_many :owned_products, through: :ownerships,
                          source: :product
        .
        .
        .

1 个答案:

答案 0 :(得分:0)

要在用户拥有的产品上设置订单,您可以在关联中指定。例如:

has_many :owned_products, through: :ownerships,
                          source: :product,
                          order: "created_at DESC"