class Api::StoresController < ApplicationController  
  respond_to :json
  def index
    @stores = Store.all(:include => :products)
    respond_with @stores
  end
end
Returns only stores without their products, as does
Store.find(:all).to_json(:include => :products)
The association is tested, I can see the nested products in console ouput from, say,
Store.first.products
What's the correct way to get them products included with MongoMapper?
Here are my models:
   class Store
     include MongoMapper::Document         
     many :products, :foreign_key => :store_ids 
   end
   class Product
     include MongoMapper::Document         
     key :store_ids, Array, :typecast => 'ObjectId'
     many :stores, :in => :store_ids
   end
UPDATE
In trying Scott's suggestion, I've added the following to the Store model:
def self.all_including_nested
  stores = []
  Store.all.each do |store|
    stores << store.to_hash
  end
end
def to_hash
  keys = self.key_names
  hash = {}
  keys.each{|k| hash[k] = self[k]}
  hash[:products] = self.products
  hash[:services] = self.services
  hash
end
And in the controller:
def index
  @stores = Store.all_including_nested
  respond_with @stores
end
Which looks like it should work? Assuming the array of hashes would have #to_json called on it, and then the same would happen to each hash and each Product + Service. I'm reading through ActiveSupport::JSON's source, and so far that's what I've grokked from it.
But, not working yet... :(