我使用acts_as_votable作为我的活动模型,并且我已经能够使用以下代码仅选择对其进行投票的活动:
@activities = Activity.select("activities.*, COUNT(votes.id)").joins(:votes).group("activities.id").order("created_at desc").page(params[:page]).per_page(72)
但是,如何选择仅具有超过3票的活动以及仅在上个月内创建的活动?
有谁知道我怎么能做到这一点?提前谢谢。
答案 0 :(得分:0)
例如,
Client.where("orders_count = ?", params[:orders])
或
Activity.where("votes.id > ? and created_at > ?", 3, beginning_of_month*)
此外," Chapter 2: Conditionals"可能对你有用!
* http://apidock.com/rails/DateAndTime/Calculations/beginning_of_month
答案 1 :(得分:0)
having
。例如:
@activities = Activity.joins(:votes).group("activities.id").having("count(votes.id) >= ?", 1).order("created_at desc").where(:created_at => 6.months.ago..Time.zone.now.to_date).page(params[:page]).per_page(60)