Dwie kolekcje obiektow w JSON

Witam,

Mam dwie kolekcje zlozonych obiektow ktore chcialbym zrzucic na JSONa i wyslac do przegladarki. Cos takiego:

render :items => @transactions.to_json(:include => {
:user => {:only => :name},
:category => {:only => :name},
})

render :tags => @tags.to_json(:only => [:name])

Czy da sie to zrobic pojedynczym renderowaniem? Tak zeby w jednym responsie znalazly sie te dwie kolekcje?

Pozdrawiam

Pewnie jest jakaś łatwiejsza metoda, ale ja kiedyś jak musiałem to na szybko zrobić, to dałem coś takiego:

[code]# gdzieś w config/initializers na przykład

module ActiveRecord
module Serialization
# Returns hash prepared to be converted to json
#
# Can take the same options as ActiveRecord::Base#to_json
def prepare_json(options = {})
if include_root_in_json
{ self.class.json_class_name => JsonSerializer.new(self, options).serializable_record }
else
JsonSerializer.new(self, options).serializable_record
end
end
end
end

module ActiveSupport
module JSON
class << self
def prepare_json(value, options = {})
seen = (options[:seen] ||= [])
raise CircularReferenceError, ‘object references itself’ if seen.include?(value)
seen << value
value.send(:prepare_json, options)
ensure
seen.pop
end
end
end
end

module Enumerable
def prepare_json(options = {})
self.map { |value| ActiveSupport::JSON.prepare_json(value, options) }
end
end[/code]
I teraz możesz zrobić na przykład:

[code]transactions = @transactions.prepare_json(:include => {
:user => {:only => :name},
:category => {:only => :name},
})
tags = @tags.prepare_json(:only => [:name])

render :json => {:tags => tags, :transactions => transactions}[/code]
Jak ktoś wie jak to lepiej zrobić to proszę o info, zapomniałem już o tym problemie i jestem ciekaw czy i jak można to inaczej zrobić.