私はこの状況を持っています:
Stories has many Tasks
Tasks have an integer called hours_left
すべてのタスクが 0 時間以上残っているストーリーを見つけるには、名前付きスコープが必要です。
この投稿に基づいています。私はこれを書きました:
class Story
has_many :tasks
named_scope :uncompleted, {
:joins=>["INNER JOIN tasks ON tasks.story_id = stories.id"],
:group=> 'stories.id',
:select=>'stories.*, SUM(tasks.hours_left) AS sum_amount',
:having=>"sum_amount > 0"
}
end
しかしStory.uncompleted
、空の配列を返します。
手伝って頂けますか?