Я предлагаю использовать целое число. И Date
, и DateTime
имеют большую точность, чем вы хотите, что может ввести в заблуждение. Даже если вы инициализируете их только через год, они будут хранить месяц и день по умолчанию (1 января). Например, если вы используете Date
, ваш вывод будет выглядеть так:
>> m = YourModel.create(:year => '2008')
>> m.year.to_s
=> "2008-01-01"
Если вы используете целое число, вы получите то, что ожидаете:
>> m = YourModel.create(:year => '2008')
>> m.year.to_s
=> "2008"