2011-02-07 4 views
0

Я использую этот код для преобразования модели в json. Если я пытаюсь использовать включаемый 2-го уровня, как это:включают 2-й уровень в to_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 

Как я могу решить это?

ответ

0

Попробуйте это:

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

Информация о Object#as_json/to_jsonhere.

Смежные вопросы