我正在寻找一种方法来缩短生成json的respond_with内的:include =>:child。缩短response_with(:include => xxx)
下面是一个例子,不知道它是否可能,但我想知道。
在控制器:
@p = Parent.where('id = ?', params[:id])
respond_with(@p, :include => {:child1 => {}, :child2 => {}, :child3 => {:include => :grandchild1}})
有什么方法对所有包含这些的时候,我定义的实例?
也许是这样的:
@p = Parent.includes(:child1, :child2, :child3, :grandchild1).where('id = ?', params[:id])
respond_with(@p)
基本上,我想干涸我的代码...我不希望有继续键入遍地包括散列...有有时候只需要在一次调用中包含所有子对象?
child1,的child2和child3是Parent的组合吗?而grandchild1是child3的组合? – Thilo
是的Thilo,那是对的。孩子们和孙子们会因模特而异,所以我一直在寻找一些可以像帮手一样使用的东西......但是我正在经历一段艰难的时光。 – ThaDick