0

对此非常新,所以提前道歉。

我有一些接受 json 数据的 jQuery。我的控制器正在遍历一组发票,并将日期格式化为我想要的样式,例如日期字段是时间戳。我意识到这对控制器来说太像艰苦的工作了,所以我被指出要超越as_json并将逻辑转移到模型中。

我是模型中逻辑的忠实粉丝,但我使用服务对象(不是模型)与 API(我从中获取发票)进行通信我不确定如何最好地重写以下内容要使用的代码as_json

@invoices.each do |invoice|
  invoice.date = Time.at(invoice.date).strftime("%d/%m/%Y")
end
render json: @invoices

那么我怎样才能让我的服务对象完成繁重的工作呢?

4

1 回答 1

0

由于您喜欢使用服务对象(实际上它很棒,比污染您的数据库模型对象要好得多),我建议您使用rails serializers。基本上,您描述了一个对象,它将成为您在 JSON 中的模型表示。您还可以查看有关这些的 railscast:

http://railscasts.com/episodes/409-active-model-serializers

于 2013-10-12T17:29:50.657 回答