Я пытаюсь ограничить количество сообщений пользователя раз в день, я думал о том, чтобы проверить, если Time.now - last_post_time равен <(секунда в дне), но тогда это приведет к 24-часовому периоду между каждым сообщением. </p>
То, что я хотел бы сделать, это просто разрешить одну запись в день в месяц, поэтому, если пользователь публикует сообщения 28 марта, он не может публиковать их снова до 29 марта.Но если бы он отправил сообщение в 22:00 28 марта, он мог бы опубликовать его снова в 12:01 29 марта.
Как бы я это сделал?
Редактировать:
Вот мой posts_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