Matthew Hillsborough
2010-Jun-10 01:57 UTC
Using partials with XML builder, what''s the right way?
Hello everyone, Partials in XML builder are proving to be non-trivial. After some initial Google searching, I found the following to work, although it''s not 100% xml.foo do xml.id(foo.id) xml.created_at(foo.created_at) xml.last_updated(foo.updated_at) foo.bars.each do |bar| xml << render(:partial => ''bar/_bar'', :locals => { :bar => bar }) end end this will do the trick, except the XML output is not properly indented. the output looks something similar to: <foo> <id>1</id> <created_at>sometime</created_at> <last_updated>sometime</last_updated> <bar> ... </bar> <bar> ... </bar> </foo> The ``<bar>`` element should align underneath the ``<last_updated>`` element, it is a child of ``<foo>`` like this: <foo> <id>1</id> <created_at>sometime</created_at> <last_updated>sometime</last_updated> <bar> ... </bar> <bar> ... </bar> </foo> Works great if I copy the content from bar/_bar.xml.builder into the template, but then things just aren''t DRY. Thanks, Matthew -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Marnen Laibow-Koser
2010-Jun-10 02:30 UTC
Re: Using partials with XML builder, what''s the right way?
Matthew Hillsborough wrote:> Hello everyone, > > Partials in XML builder are proving to be non-trivial.So use Haml instead of Builder -- it works just as well for XML as for HTML. Problem solved. IMHO, Builder is the single most pointless thing in the Rails ecosystem. Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Walter McGinnis
2010-Jun-10 09:29 UTC
Re: Using partials with XML builder, what''s the right way?
I''ve swapped-in Nokogiri rather than builder, but my general strategy is the same; using helper methods to encapsulate discreet xml building code for reuse rather than partials. Seems less hackish. Just pass in the xml object you are building up. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.