บ่อยครั้งที่ฉันต้องตรวจสอบว่าค่าบางค่าว่างเปล่าและเขียนว่า "No data present" ดังนี้:
@user.address.blank? ? "We don't know user's address" : @user.address
และเมื่อเรามีประมาณ 20-30 ช่องที่เราต้องประมวลผลแบบนี้มันจะน่าเกลียด
สิ่งที่ฉันทำคือขยายคลาส String ด้วยor
วิธีการ
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
ตอนนี้กำลังดูดีขึ้น แต่มันก็ยังดิบและหยาบ
จะดีกว่าอย่างไรในการแก้ปัญหาของฉัน บางทีอาจจะดีกว่าถ้าจะขยายActiveSupport class
หรือใช้วิธีตัวช่วยหรือส่วนผสมหรืออย่างอื่น อะไรคืออุดมคติของทับทิมประสบการณ์และแนวทางปฏิบัติที่ดีที่สุดของคุณสามารถบอกฉันได้