问问题
1803 次
3 回答
4
在 RoR 中处理日期时,我们必须解决三个任务。我发现这些解决方案对我来说是最简单的:
1.如何正确显示日期。
安装I18n gem 并检查 config\locales\en.yml 中的日期格式。然后使用I18n.l()(或只是 l)表单助手来本地化 html.erb 文件中的日期。
date:
formats:
default: "%m/%d/%y"
2.如何方便用户修改日期。
使用 jQuery datepicker(或 bootstrap datepicker 等)并根据 en.yml 格式在 jQuery 小部件选项中设置日期格式。
3.如何将日期从本地化(查看)格式转换为活动记录属性。
安装Delocalize gem 并将 :input 子部分添加到 en.yml 文件的 date: 部分。
input:
formats:
- :default
现在,当您分配日期时,您的日期将自动从本地化格式 (mm/dd/yy) 转换为数据库格式 (yyyy-mm-dd)。
于 2012-12-23T19:11:38.493 回答
3
我不得不使用altField
andaltFormat
选项来使其按描述工作:
$('input.datepicker').datepicker({
dateFormat: "mm/dd/yy",
altField: alt_field,
altFormat: "yy-mm-dd"});
这需要有一个隐藏字段alt_field
,它实际上以标准数据库格式保存您的日期。
于 2012-12-23T18:01:25.483 回答
0
包括以下 gem,它会自动将美国日期保存为 db 格式。
gem 'american_date'
于 2015-02-26T12:47:35.887 回答