rails_admin datepicker不允许我设置BC日期

时间:2018-09-02 18:44:26

标签: ruby-on-rails datetime rails-admin

我的postgres数据库中有一个datetime列。 rails_admin可以很好地使用它,直到我尝试设置一个日期。

日期选择器使我可以返回否定日期。但是,一旦我离开该字段,它将删除“-”。我尝试手动编辑它,但是它做同样的事情。例如“ 1月4日-3761 00:00”变为“ 1月4日3761 00:00”

我可以想到几种可能的解决方案:

  • 我认为对我而言,首选的解决方案是使用其他日期选择器。这是一种烦人,尤其是随着时间的推移。我有引导程序。有什么办法吗?
  • 以某种方式禁用日期选择器,然后手动输入。如果是这样的解决方案,我宁愿键入数字格式,如“ 2018/01/01”,而不是“ 2018年1月1日”。此解决方案也可以,但是我不知道该怎么做。
  • 我可以将列类型从日期时间更改为纯文本,然后自己解析,但我宁愿不这样做。

顺便说一句,也许日期时间不是存储这类日期的最佳方法?

rails_admin 1.4.1 导轨5.2.1

1 个答案:

答案 0 :(得分:0)

我想出了如何做上述第二种解决方案。我需要制作一个模板。如docs for rails admin中所述。请参阅表单渲染。

我的模型现在看起来像这样:

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' })