27 Ocak 2011, PERŞEMBE
Eğer string boş sonra bazı varsayılan değeri döndürür ise
Sık sık eğer bazı değerlerin boş olup olmadığını kontrol etmek istiyorum ve "veri" gibi . bugünkü yazma
@user.address.blank? ? "We don't know user's address" : @user.address
Ve bu şekilde faaliyet 20-30 alanları hakkında elimizde çok çirkin olur.
Ne yaptım ben or
yöntemi ile 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 ham ve kaba
Daha sorunumu çözmek için ne kadar zor olacağını. Belki daha iyi ActiveSupport class
genişletmek için bir yardımcı yöntem veya mixins veya başka bir şey kullanmak olacaktır. Ruby ideoloji, deneyim ve en iyi uygulamaları bana ne söyleyebilir ki.
CEVAP
27 Ocak 2011, PERŞEMBE
ActiveSupport present?
(blank?
tersi), ve nil
eğer alıcısı yoksa döndüren tüm nesneler için presence
bir yöntemi ekler.
Örnek:
host = config[:host].presence || 'localhost'
Bunu Paylaş:
Varsayılan yöntem bir süre için true d...
Eğer string bir dizi değeri içeriyorsa...
SQL Server varolan bir tabloya bir süt...
Uyarı: itme.varsayılan Geri Al; örtülü...
JavaScript bir işlev için varsayılan p...