Hi,

I'm using the new(?) as_json methods within a rest api I am working
on.

However I am not sure how you are supposed to, or whether it is
designed to handle multiple variations of association inclusion.

For example I have a model using acts_as_tree, so that each instance
has children and a parent:

class CatalogueCategory < ActiveRecord::Base

  acts_as_tree

  JSON_ATTRS = ['id', 'name', 'description', 'slug']

  def as_json(options=nil)
    attributes.slice(*JSON_ATTRS).merge(:children =>
children, :ancestors => ancestors)
  end

end

The ancestors reference is an array of parent, grand parent etc
categories back up to the root node.

However when I call .as_json on my category of interest it tries to
include the children of each ancestor category which each have
ancestors... and we end up in an infinite loop.

Ideally I would like to be able to specify different treatment of the
same model depending on some context. That is I would like to be able
to specify that ancestor categories do not include :children
or :ancestors in their attributes for the as_json call.

I think most of this as_json functionality is part of 2-3.stable post
2.3.5 but hoped someone might have some guidance.

Thanks, Andrew.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to