Por ejemplo, si un usuario envía una publicación, debe haber un período de demora de aproximadamente 10 minutos en el que no puede enviar otra publicación.
¿Podría alguien apuntarme a una buena gema / tutorial / método? Para referencia, estoy en Rails 3.
Respuestas
3 para la respuesta № 1Si su seguimiento por usuario, puede mantener una columna llamada last_active
que es un campo de fecha y hora, y actualizarlo cuando el usuario envíe el formulario. (Suponiendo que no hay muchas formas, entonces tal vez piense en dar a estas marcas de tiempo su propio modelo).
Luego, simplemente realiza un cálculo de fecha para ver si han pasado diez minutos.
user.last_active + 10.minutes > Time.now ? "User can post" : "User cannot post"
Nota: No delante de una consola, eso podría ser 10.minute
Entonces tu forma lógica:
def form_stuff
//Form Logic
@user.last_active = Time.now
end