我的postgres db中有一个日期时间列。 rails_admin一直工作得很好,直到我尝试设置一个日期b.c。
日期选择器允许我返回到负日期。但是,一旦我离开该字段,它就会删除"-"。我尝试手动编辑它,但它做同样的事情。例如,"1 月 4, -3761 00:00" 变为 "1 月 04, 3761 00:00">
我可以想到几种可能的解决方案:
- 我认为对我来说首选的解决方案是使用不同的日期选择器。这个有点烦人,尤其是随着时间的推移。我有引导程序。有什么办法可以做到这一点吗?
- 以某种方式禁用日期选择器,然后手动键入它。如果这是解决方案,我宁愿输入数字格式,如"2018/01/01"而不是"2018年1月1日"这个解决方案也很好,但我无法弄清楚如何做到这一点。
- 我可以将列类型从日期时间更改为纯文本并自己解析它,但我宁愿不这样做。
顺便说一句,也许日期时间不是存储此类日期的最佳方式?
rails_admin 1.4.1 导轨 5.2.1
我想出了如何执行上面提到的第二个解决方案。我需要制作一个模板。如 rails 管理员文档中所述。请参阅表单呈现。
我的模型现在看起来像这样:
rails_admin do
field :date_x do
...
strftime_format '%Y-%m-%d'
partial 'date_partial.html.haml'
...
end
end
和部分(app/views/rails_admin/main/_date_partial.html.haml(
= form.text_field field.method_name, field.html_attributes.reverse_merge({ value: field.form_value, class: 'form-control' })