У меня есть некоторые атрибуты, которые должны иметь значения по умолчанию.Я настроил свои миграции для установки значений по умолчанию в базе данных следующим образом:
class AddDefaultsToModel < ActiveRecord::Migration[5.2]
def change
change_column :posts, :post_type, :string, default: 'draft'
change_column :posts, :date_time, :datetime, default: -> { 'CURRENT_TIMESTAMP' }
end
end
Значения по умолчанию отлично работают при добавлении непосредственно в базу данных.Однако, если я создаю новую модель в Rails, один атрибут работает должным образом, а другой - нет:
post = Post.new
post.post_type # draft (as expected)
post.date_time # nil (expecting the current date and time)
Является ли это поведение преднамеренным?Должен ли я установить значение по умолчанию в модели?Почему Post#post_type
работает, а не Post#date_time
?