Как мне проверить время в Rails? Ограничение пользователя на отправку сообщений один раз в день

Я пытаюсь ограничить количество сообщений пользователя до одного раза в день, я думал о том, чтобы проверить, равно ли Time.now - last_post_time <(секунда в день), но тогда это заставит 24-часовой период между каждым сообщение.

Что я? Я бы хотел просто разрешить одну публикацию в день в месяц, поэтому, если пользователь публикует сообщения 28 марта, он не может отправлять сообщения повторно до 29 числа. Но если он отправит сообщение в 22:00 28 марта, он сможет снова отправить сообщение в 0:01 29 марта.

Как бы я это сделал?

Редактировать:

Вот мой messages_controller, могу я получить помощь о том, как его реорганизовать?

def create
    @post  = current_user.posts.build(params[:supportpost])
        if @post.save
          flash[:success] = "Your post was created!"
          redirect_to root_path
        else
          @feed_items = []
          render 'pages/home'
        end
    end

Я пробовал что-то вроде этого, но это определенно неверно:

  def create
    post = @user.posts.find(:first, :conditions => ["STRFTIME('%d', created_at) = ?", Date.today.day])
      if post
       @post  = current_user.posts.build(params[:supportpost])
        if @post.save
          flash[:success] = "Your post was created!"
          redirect_to root_path
        else
          @feed_items = []
          render 'pages/home'
        end
    end
6
задан trying_hal9000 29 March 2011 в 04:44
поделиться