A menudo tengo que comprobar si un valor está en blanco y escribir que "no los datos presentes" así:cadena está vacía luego regresar algún valor por defecto
@user.address.blank? ? "We don't know user's address" : @user.address
Y cuando tenemos unos 20-30 campos que tenemos que procesar de esta manera se vuelve feo.
Lo que he hecho es extendido clase String con or
método
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Ahora se ve mejor. Pero todavía es crudo y áspero
Cómo sería mejor resolver mi problema. Tal vez sería mejor extender ActiveSupport class
o utilizar el método de ayuda o mixins o cualquier otra cosa. Lo que la idealogía de rubí, tu experiencia y tus mejores prácticas pueden decirme.
esto es genial. Se prefieren las posibilidades de los rieles por defecto. Gracias! – fl00r
En primer lugar, se prefiere porque en mi solución debería extender String, Fixnum y NilClass al menos. Y aquí puedo usar código claro sin bycles – fl00r