2011-07-21 79 views
2

首先,我爱inherited_resources与继承的资源嵌套对象

考虑以下几点:

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

class JobsController < InheritedResources::Base 
    respond_to :json 
end 

当我要求的工作/ 1.json我刚刚得到的作业对象的JSON。我想要的也是包括的输入和输出。我通常通过实现这一点:

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

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

谢谢!

+1

也许你可以覆盖在模型工作的to_json所以当IR调用它,你会得到的输入和输出与它一起 – corroded

回答

5

@腐蚀让我走上正轨。答案是在模型上覆盖as_json。

具体来说,我做了以下内容:

public 

    def as_json(options={}) 
    super(include: [:inputs,:output]) 
    end