gpt4 book ai didi

ruby-on-rails - RABL:将默认日期和时间格式更改为 iso8601

转载 作者:行者123 更新时间:2023-12-04 21:12:07 25 4
gpt4 key购买 nike

我正在为我的 API 使用 rabl 0.11.6,我发现自己对每个日期或时间对象一遍又一遍地执行以下操作:

node :created_at do |article|
article.created_at.iso8601
end

如果每个日期对象的格式都可以在一个地方设置,这样我就可以使用 attributes,这将节省大量的代码重复。像这样的方法
attributes :created_at

我在他们建议的 github ( https://github.com/ccocchi/rabl-rails/issues/68 ) 上发现了一个问题,覆盖了一些 Oj.default_options = { mode: :compat, time_format: :ruby }在初始化程序中。但我不知道如何做 .iso8601 .

然后我找到了这个 https://gist.github.com/astevens/b80225d96d8889c946ac .但它看起来像一个hacky猴子补丁解决方案。

最后我发现了这个问题 https://github.com/nesquena/rabl/issues/336他们覆盖了 as_json方法来自 ActiveSupport::TimeWithZone ,也是一个非常猴子补丁的解决方案。

有没有办法告诉 RABL 使用什么日期和时间格式?如果不是,那么实现这一目标的最佳/最少黑客方法是什么?

最佳答案

FWIW 我在 rails 4.2.8、Rabl 0.13.1 和 OJ 2.18.5 中修复了这个问题

添加具有以下内容的初始化程序..

Oj.default_options = {:use_as_json => true}

关于ruby-on-rails - RABL:将默认日期和时间格式更改为 iso8601,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32378897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com