Часто мені потрібно перевірити, чи не пусте якесь значення, і написати так: "Немає даних" так:
@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
або скористатися допоміжним методом, мікшинами або чим-небудь іншим. Те, що може сказати мені рубінова ідеалогія, ваш досвід та найкращі практики.