【问题标题】:Handling different date formats in ROR在 ROR 中处理不同的日期格式
【发布时间】:2011-06-22 17:08:03
【问题描述】:

我正在尝试构建一个 ROR 应用程序,允许用户以各种格式输入日期,例如 12/31/11(月/日/年)或 31/12/11(日/月/年)。为了解释日期格式,我将有一个选择字段,用户可以从中选择日期格式。在保存记录之前,我可以在控制器中使用Date.strptime(value, format).to_s()

但是,我不确定控制器放置此信息的正确位置。有没有办法可以在保存方法之前将其推送到模型..说。

【问题讨论】:

    标签: ruby-on-rails date


    【解决方案1】:

    您可以按原样保存数据(在控制器中),并在模型中设置另一个字段来告诉它如何解释数据。然后,在 before_validation 回调中,您可以尝试根据给定格式解析日期并将其写入同一字段,现在作为日期。回来的路上可能会出现问题。然后,要再次在视图中显示它,您可以编写帮助程序 - 但更好的是,在模型中提供一个方法(例如,formatted_date)来计算和显示日期。

    但是,这个要求听起来很奇怪。为什么用户有责任选择日期格式?不应该基于用户区域设置吗?

    无论如何,我建议您在初始化程序中注册您的日期格式,而不是在整个应用程序中重复格式字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 2022-06-11
      • 2012-06-27
      相关资源
      最近更新 更多