2016-09-14 1 views
0

私はowner_typeを通じて両方タスク項目に属し割り当てと呼ばれる多型のモデルを持って、OWNER_ID。Railsの多型のモデルでは、動的という名前のスコープで4パッシングが

タスク&項目には、「来る」と「今日」と「this_month」というスコープがあります。私は、必要なすべてのデータを取得するために割り当てで1つの名前付きスコープを使用しようとしています...しかし、それはかなり動作していません。この例では

、 "タイムライン" coule等しい "今日"、 "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上の名前の範囲を設定します。

答えて

関連する問題