У меня есть params[:month,:day,:year]
, и мне нужно преобразовать их в DateTime
, которые я могу разместить в скрытом виде.Создайте дату в Rails, используя месяц, день и год
Каков наилучший способ сделать это в Rails 3?
У меня есть params[:month,:day,:year]
, и мне нужно преобразовать их в DateTime
, которые я могу разместить в скрытом виде.Создайте дату в Rails, используя месяц, день и год
Каков наилучший способ сделать это в Rails 3?
Вы можете сделать
DateTime.new(params[:year], params[:month], params[:day])
Использование DateTime.civil
:
require 'date'
date = DateTime.civil(*params.values_at(:year, :month, :day))
К сожалению. Я полный noob. Я бы поставил это на вершине моего контроллера или в методе? – bjork24
+1 для использования недооцененных значений value_at. –
Действительно. Это работало без инструкции require. Спасибо! – bjork24
Я думаю, что все они должны быть преобразованы в целое! Поскольку DateTime.new работает только с целыми числами, а не с строками. params [: year] .to_i и т. Д. – msdundar