Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 服务对象中的Over-ride as_json_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 服务对象中的Over-ride as_json

Ruby on rails 服务对象中的Over-ride as_json,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,对此非常陌生,请提前道歉 我有一些接受json数据的jQuery。我的控制器在一个发票数组中循环,并将日期格式化为我想要的样式,例如日期字段是时间戳。我意识到这对控制器来说太像是一项艰苦的工作,所以我被指过了作为_json的,并将逻辑转移到模型上 我非常喜欢模型中的逻辑,但我正在使用服务对象(而不是模型)与API(我从中获取发票)进行通信。我不确定如何最好地重新编写以下代码以将用作json: @invoices.each do |invoice| invoice.date = Time.at

对此非常陌生,请提前道歉

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

我非常喜欢模型中的逻辑,但我正在使用服务对象(而不是模型)与API(我从中获取发票)进行通信。我不确定如何最好地重新编写以下代码以将
用作json

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

那么,我如何才能让我的服务对象完成繁重的工作呢?

由于您喜欢使用服务对象(事实上,这比污染您的DB模型对象要好得多),我建议您使用。基本上,您描述的对象将是JSON中的模型表示。您还可以查看railscast,了解以下信息: