¿Cómo valido una hora en Rails? Limitar a un usuario a publicar una vez al día
Estoy tratando de limitar las publicaciones de los usuarios a una vez al día, estaba pensando en verificar si Time.now - last_post_time es <(segundo en un día) pero eso forzaría un período de 24 horas entre cada publicación.
Lo que me gustaría hacer es permitir solo una publicación por día en el mes, por lo que si el usuario publica el 28 de marzo, no puede volver a publicar hasta el 29. Pero si publicaba a las 10pm el 28 de marzo, podría publicar nuevamente a las 12:01 am el 29 de marzo.
¿Cómo haría esto?
Editar
Aquí está mi posts_controller, ¿puedo obtener ayuda sobre cómo refactorizar esto?
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
Estaba intentando algo como esto, pero ciertamente está mal:
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