我在用户表单中有一个text_field :birthday_line
,需要将其解析为用户的birthday
属性。因此,在我的User
类中做了如下操作:
attr_accessor :birthday_line
before_save :set_birthday
def set_birthday
self.birthday = Date.strptime(birthday_line, I18n.translate("date.formats.default")
end
但问题是,出于某些原因,当我尝试传递字符串27 января 1987 г.
(应解析为1987-01-27
)时,它会给我一个错误,显示Invalid date
。
在我的config/locales/ru.yml
中,日期格式和月份名称为:
ru:
date:
formats:
default: "%d %B %Y г."
month_names: [~, января, февраля, марта, апреля, мая, июня, июля, августа, сентября, октября, ноября, декабря]
似乎是正确的。
Date.parse
也没有帮助,它只解析了日期中的天数(27),并将月份和年份设置为今天的日期(所以它将会是2013年9月27日而不是1987年1月27日)。
delocalize
gem,但它仍不支持Rails 4。 - Almaron