To answer my own question, this isn't really a restangular thing, it's a general angular thing (ngResource behaves the same way) and is a bit of orthoganality to how EmberJS works. In EmberJS, (or at least the version of Ember-Data that I was using), JSON api responses are expected to have a root element, which Ember-Data kind of disregards (or uses to type the result objects). $resource and restangular attend to the root elements. So you can alter your api to just return {"id:2" ...
instead of {"user":{"id":2 ...
or you can do a transformResponse on the result. Your call.
Since I'm writing both the API and the front end, and there's nobody else using this API right now (once it stabilizes, that will change), I just went and changed how the API output JSON. The backend uses active_model_serializers, so I just put a , root: false
in a few choice locations for now. Easy enough.