Seringkali saya perlu memeriksa apakah beberapa nilai kosong dan menulis bahwa "Tidak ada data" seperti itu:
@user.address.blank? ? "We don't know user's address" : @user.address
Dan ketika kita memiliki sekitar 20-30 bidang yang perlu kita proses dengan cara ini, itu menjadi jelek.
Apa yang saya buat adalah kelas String diperpanjang dengan or
metode
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Sekarang sudah terlihat lebih baik. Tapi masih mentah dan kasar
Bagaimana akan lebih baik untuk menyelesaikan masalah saya. Mungkin akan lebih baik untuk memperpanjang ActiveSupport class
atau menggunakan metode pembantu atau mixin atau yang lainnya. Apa yang idealogi, pengalaman, dan praktik terbaik Anda dapat memberitahu saya.