【问题标题】:rails_admin datepicker not letting me set a b.c. daterails_admin datepicker 不让我设置 b.c.日期
【发布时间】:2018-09-02 18:44:25
【问题描述】:

我的 postgres 数据库中有一个日期时间列。 rails_admin 工作正常,直到我尝试设置 b.c. 的日期。

日期选择器允许我返回负日期。但是,一旦我离开该领域,它就会删除“-”。我尝试手动编辑它,但它做同样的事情。例如'1 月 04 日,-3761 00:00' 变为 '3761 年 1 月 4 日 00:00'

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

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

顺便说一句,也许 datetime 不是存储此类日期的最佳方式?

rails_admin 1.4.1 轨道 5.2.1

【问题讨论】:

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


    【解决方案1】:

    我想出了如何执行上面提到的第二种解决方案。我需要制作一个模板。如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' })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 2011-02-01
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多