具有继承资源的嵌套对象

Jon*_*han 2 json ruby-on-rails inherited-resources

首先,我喜欢inherited_resources

考虑以下:

class Job < ActiveRecord::Base
  has_many :inputs, dependent: :destroy
  has_one :output
end

class JobsController < InheritedResources::Base
  respond_to :json
end
Run Code Online (Sandbox Code Playgroud)

当我请求jobs/1.json时,我只获取作业对象的JSON.我想要的还有要包含的输入和输出.我通常通过以下方式实现:

job.to_json(include: [:inputs,:output])

我的问题是用IR实现这一目标的最佳方法是什么?现在,我只是覆盖节目,但我想知道是否有更优雅的方式?

谢谢!

Jon*_*han 5

@corroded让我走上正轨.答案是在模型上覆盖as_json.

具体来说我做了以下事情:

  public

  def as_json(options={})
    super(include: [:inputs,:output])
  end
Run Code Online (Sandbox Code Playgroud)