[英]Rails 4 Passing in dynamic named scopes on polymorphic models
我有一個名為Assignment的多態模型,該模型通過owner_type,owner_id屬於Task和Item 。
Task&Item的作用域稱為:upcoming和:today和:this_month。 我正在嘗試在分配上使用一個命名范圍來獲取我需要的所有數據...但是效果不佳。
在此示例中,“時間軸”的含義等於“今天”,“本月”或“即將來臨”
該查詢將是
Assignment.by_timeline("task", "this_month")
這是我在工作分配上的命名范圍(Task.this_month可以單獨使用):
scope :by_timeline, lambda { |owner_type, timeline|
owner = owner_type.to_sym
owner_class = owner_type.camelize.constantize
set_scope = timeline.to_sym
scoped_owner = owner_class.timeline
joins(owner).merge(scoped_owner)
}
當我用owner_class.this_month替換“ owner_class.timeline”“,但我想動態設置owner_type的命名范圍時,它可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.