在to_json中包含第二级

时间:2011-02-07 20:57:43

标签: ruby-on-rails ruby json

我正在使用此代码将模型转换为json。如果我尝试使用包含这样的第二级:

p = Product.includes({ :variants => { :stocks => :size } }).where(:id => params[:id]).first
render :json => p.variants.to_json(:include => { :stocks => { :include => :size } })

我收到此错误:

undefined method `macro' for nil:NilClass

我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

试试这个:

render :json => p.variants.map { |v| v.as_json(:include => {:stocks => {:include => :size}}) }

有关Object#as_json / to_json here的信息。