Так что нам нужно что-то, что произошло в приложении Rails войти:Каков наилучший способ форматирования моделей Rails для журналов?
logger.info("Created zone #{zone} for user #{user}.")
zone
и user
являются стандартными моделями, то есть объекты ActiveRecord::Base
-derived классов. И выход по умолчанию не очень полезно:
Created zone #<Zone:0x007f93b3709498> for user #<User:0x007f93b3509418>.
Для отладки, это имеет смысл для вывода, по меньшей мере модели id
с. Также было бы неплохо увидеть некоторые ключевые атрибуты (набор которых варьируется от модели к модели), например user.name
и zone.area
.
inspect
был бы излишним, потому что некоторые из наших моделей (User
в комплекте) имеют много неключевых атрибутов, которые не сразу полезны и будут только мешать журналам.
Переопределение to_s
не чувствует себя хорошо, потому что модели должны заботиться о своем состоянии, а не о представлении. Кроме того, этот «короткий осмотр» - это то, что нужно только в журналах, а не каждый время, которое мы хотим вывести на модели.
Каков наилучший способ форматирования моделей Rails для журналов?
Где я должен задавать такие вопросы? –