Как получить исходное значение "created_at" в базе данных (а не объект, перенесенный в ActiveSupport:: TimeWithZone)
Представьте, что у меня есть Post Model.
и одна запись в базе данных будет:
23|title_here|content_here|2011-02-20 08:01:55.583222|2011-02-20 08:01:55.583222
и последние два поля (2011-02-20 08:01:55.583222|2011-02-20 08:01:55.583222
) являются поля created_at и updated_at.
Затем
post = Post.find_by_id(23)
Вопрос. Как я могу получить строку created_at: "2011-02-20 08:01:55.583222
" в базе данных?
Как известно, post.created_at вернет объект ActiveSupport::TimeWithZone
, а не необработанную строку.
Пожалуйста, помогите:)
Ответы
Ответ 1
использовать attributes_before_type_cast
Post.find(23).attributes_before_type_cast["created_at"]
или
Post.find(23).read_attribute_before_type_cast("created_at")
Edit
Вы также можете позвонить так:
Post.find(23).created_at_before_type_cast
в соответствии с Доступ к атрибутам до того, как они были приписаны.
Ответ 2
Try
Post.find_by_id(23).created_at.to_s