Souvent j'ai besoin de vérifier si la valeur est vide et écrire que "Pas de données", comme ça:
@user.address.blank? ? "We don't know user's address" : @user.address
Et quand nous avons eu environ 20-30 champs que nous avons besoin de traiter de cette manière, il devient laid.
Ce que j'ai fait est étendu classe String avec 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, il est à la recherche de mieux. Mais il est encore brut et rugueux
Comment il serait préférable de résoudre mon problème. Il serait peut-être préférable de les prolonger ActiveSupport class
ou de l'utilisation de la méthode d'assistance ou de mixin ou quoi que ce soit d'autre. Ce que ruby idéologie, de votre expérience et les meilleures pratiques peuvent dire de moi.