2013-06-22 147 views
0

我有三種模型:用戶,產品和所有權。所有權有product_id:integeruser_id:integer。我想通過created_at DESC來確定我的產品範圍。範圍關聯模型「created_at」

應用程序/模型/ 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 
     . 
     . 
     . 

回答

0

設置對用戶的既有產品的訂單,您可以在指定此協會。例如:

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

謝謝,它的工作原理!但是這個方法已被廢棄,我們必須使用'has_many:owned_products, - > {order「created_at DESC」},通過:: ownedges,source :: product'。 –