Marcelo
Unfortunately like you mentioned when you use the :only options it
will filter through all the associations as well. You can get around
this by passing a proc to_xml that appends the associations to the
builder. For example we will take the ever so popular example of a
User having many Posts.
class User
has_many :posts
end
class Post
belongs_to :user
end
user = User.first
posts = user.posts
post_proc = lambda do |options|
options[:builder] << posts.to_xml(:skip_instruct => true)
end
user.to_xml(:only => :first_name, :procs => post_proc)
Make sure you have the :skip_instruct => true option when you are
creating the xml for your associations so it does not add the XML
declaration <?xml version="1.0 ... >
Cheers.
--
Robert Zotter
Zapient, LLC
Ruby on Rails Development and Consulting
http://www.zapient.com
http://www.fromjavatoruby.com
On Oct 28, 8:16 am, Marcelo Barbudas
<nos...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Hi,
>
> A call to to_xml(:only => [:field], :include => :association]) will
> filter the association result too(the resulting association will only
> have :field).
>
> Is there a way around this?
>
> I want to specify different filters for the main object and the
> association.
>
> --
> M.
--~--~---------~--~----~------------~-------~--~----~
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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---