RoR 3将用户限制为每天2个post

我正在寻找限制我的用户每天发布超过两次,每周不超过5个post。 我有一个用户和post模型/控制器。

我一直在看这些问题,但它们并不是我想要的。

Rails 3.1限制用户创建的对象

如何在Rails中validation时间? 限制用户每天发布一次

错误@ 20:44 13/03/2012,来自KandadaBoggu的代码

NoMethodError in PostsController#create undefined method `beginnning_of_day' for 2012-03-13 20:36:11 +0000:Time 

试试这个:

 class User has_many :posts do def today where(:created_at => (Time.zone.now.beginning_of_day..Time.zone.now)) end def this_week where(:created_at => (Time.zone.now.beginning_of_week..Time.zone.now)) end end end class Post belongs_to :user validate :user_quota, :on => :create private def user_quota if user.posts.today.count >= 2 errors.add(:base, "Exceeds daily limit") elsif user.posts.this_week.count >= 5 errors.add(:base, "Exceeds weekly limit") end end end