Créé le 09 Dec 2022 - Mis à jour le 04 Jul 2023 - Créé par Fabien Berthoux - ruby-on-railsruby
Rails fournit une variété de méthodes pour travailler avec des dates et des heures. Le temps relatif, ou le temps écoulé depuis un événement spécifique, est l'une des principales méthodes. Il est très facile de le mettre en œuvre dans un projet Rails, et cela peut être fait en utilisant la méthode time_ago_in_words() disponible dans le contrôleur. Cette méthode prend en charge les arguments facultatifs qui peuvent être passés à la fonction pour modifier le format et le temps de formatage retourné. Par exemple, si vous souhaitez afficher le temps écoulé depuis la date d'aujourd'hui, vous pourriez utiliser le code suivant :
# Affiche le temps écoulé depuis aujourd'hui
time_ago_in_words(Time.now)
Le temps relatif dans Rails peut être modifié en passant des arguments optionnels à la méthode time_ago_in_words(). Par exemple, si vous souhaitez afficher le temps écoulé sous la forme d'un nombre de jours et de minutes, vous pouvez utiliser le code suivant :
# Affiche le temps écoulé sous la forme d'un nombre de jours et de minutes
time_ago_in_words(Time.now, only: [:days, :minutes])
Vous pouvez afficher le temps relatif à partir d'une date spécifique en passant la date à la méthode time_ago_in_words(). Par exemple, si vous souhaitez afficher le temps écoulé depuis le 1er janvier 2020, vous pourriez utiliser le code suivant :
# Affiche le temps écoulé depuis le 1er janvier 2020
time_ago_in_words(Date.new(2020, 1, 1))
Vous pouvez afficher le temps relatif à partir d'une date et d'une heure spécifiques en passant la date et l'heure à la méthode time_ago_in_words(). Par exemple, si vous souhaitez afficher le temps écoulé depuis le 1er janvier 2020 à 12h00, vous pourriez utiliser le code suivant :
# Affiche le temps écoulé depuis le 1er janvier 2020 à 12h00
time_ago_in_words(DateTime.new(2020, 1, 1, 12))
Vous pouvez afficher le temps relatif dans un autre format en passant l'argument :format à la méthode time_ago_in_words(). Par exemple, si vous souhaitez afficher le temps écoulé sous la forme d'un nombre d'heures et de minutes, vous pourriez utiliser le code suivant :
# Affiche le temps écoulé sous la forme d'un nombre d'heures et de minutes
time_ago_in_words(Time.now, format: "%h %m")
Vous pouvez afficher le temps relatif sans le temps de formatage en passant l'argument :include_seconds à la méthode time_ago_in_words(). Par exemple, si vous souhaitez afficher le temps écoulé sans le temps de formatage, vous pourriez utiliser le code suivant :
# Affiche le temps écoulé sans le temps de formatage
time_ago_in_words(Time.now, include_seconds: false)
Vérifier si un tableau contient un objet ruby-on-rails |
Valider une date dans rails ? ruby-on-rails |
Valider lors de la destruction dans rails ruby-on-rails |
Valider l'attribut uniquement s'il est présent (uniquement si l'utilisateur le remplit) ruby-on-rails |
Validation rails requise pour la numéricité même si la présence n'est pas réglée à vrai ruby-on-rails |
Validation des longueurs minimale et maximale d'une chaîne de caractères mais en autorisant le vide ruby-on-rails |
Validation de messages personnalisés pour rails 3 ruby-on-rails |