Souvent, je dois vérifier si une valeur est vide et écrire que "Aucune donnée présente" comme ça:
@user.address.blank? ? "We don't know user's address" : @user.address
Et quand nous avons environ 20-30 champs que nous devons traiter de cette manière, cela devient moche.
Ce que j'ai fait est une classe String étendue avec une or
méthode
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Maintenant, ça va mieux. Mais c'est toujours brut et rugueux
Comment il serait préférable de résoudre mon problème. Il serait peut-être préférable d'étendre ActiveSupport class
ou d'utiliser une méthode d'assistance ou des mixins ou autre chose. Ce que l'idealogy ruby, votre expérience et vos meilleures pratiques peuvent me dire.