Каков наилучший способ гарантировать, что модель существует до выполнения интерполяции строк? У меня есть переменная user
, и мне нужно посмотреть, что такое майор user
. Информация о пользователе находится в таблице между именем user_attributes
.Надежная интерполяция строк в Rails
#{user.user_attribute.major.name}
Пользователь, возможно, еще не указал майора, и в этом случае у них не будет экземпляра главной модели. Поэтому, когда я пытаюсь получить имя майора, я получаю ошибку «неопределенный метод по типу типа nil». Любые советы о том, как безопасно это сделать?
[Деметр: Это не просто хорошая идея. Это закон.] (Http://devblog.avdi.org/2011/07/05/demeter-its-not-just-a-good-idea-its-the-law/) – Stefan