Genellikle bir değerin boş olup olmadığını kontrol etmem ve şöyle "Veri yok" yazmam gerekir:
@user.address.blank? ? "We don't know user's address" : @user.address
Ve bu şekilde işlememiz gereken yaklaşık 20-30 alanımız olduğunda, işler çirkinleşiyor.
Yaptığım şey, or
yöntemle genişletilmiş String sınıfı
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Şimdi daha iyi görünüyor. Ama hala çiğ ve sert
Sorunumu çözmek nasıl daha iyi olurdu. Belki ActiveSupport class
yardımcı yöntem veya karışımları veya başka herhangi bir şeyi genişletmek veya kullanmak daha iyi olur . Ruby idealojisi, deneyiminiz ve en iyi uygulamalarınız bana ne söyleyebilir.