Это работает, но что-то говорит мне, что я действительно должен делать это в SQL.
Что я действительно плохо умею, поэтому, пожалуйста, помогите мне.
Я хочу отсортировать мои user
s поих количество gesture
с в текущем или указанном месяце.
У меня есть это в User.rb
:
def self.mayor(month = nil, year = nil)
month = Date.today.month if !month
year = Date.today.year if !year
self.all.sort { |a, b|
b.gestures.done_in_month(month, year).count <=>
a.gestures.done_in_month(month, year).count }.first
end
и это в gesture.rb
:
scope :done_in_month, lambda { |*args|
return nil if !args[0]
date = Date.new((args[1] || Date.today.year), args[0])
where(:done_on => date.beginning_of_month..date.end_of_month)
}
Любая помощь или руководство с благодарностью!