title: How to retrieve models without ember-data?
body: <p>I have an API which can't suitable for Ember-Data's Rest Adapter. There about 3 models, thus I decided to use plain old $.ajax from jQuery. I blown my mind while finding a way how to retrieve models and pass them to controller in a right way.</p>
  
  <p>Consider the following example from guides:</p>
  
  <pre><code>App.Router.map(function(match) {
    match('/posts').to('posts');
  });
  
  App.PostsRoute = Ember.Route.extend({
    model: function() {
      return App.Post.findAll(); // Just renamed to .findAll.
    }
  });
  </code></pre>
  
  <p>I found that .findAll method must return an instance of E.ArrayProxy, otherwise it's impossible to do things like this:</p>
  
  <pre><code>{{#if content}}
    ...
  {{else}}
    &lt;strong&gt;Nothing to display&lt;/strong&gt;
  {{/if}}
  </code></pre>
  
  <p>And my implementation look so:</p>
  
  <pre><code>App.Post.reopenClass({
    findAll: function() {
      var result = Ember.ArrayProxy.create({content: []});
  
      $.getJSON('/posts', function(data) {
        $.each(data, function(i, row) {
          result.pushObject(App.Post.create(row));
        });
      });
  
      return result;
    }
  });
  </code></pre>
  
  <p>I am pretty satisfied with this, but I can't imagine how to work with single object.</p>
  
  <pre><code>App.PostsRoute = Ember.Route.extend({
    model: function(params) {
      return App.Post.find(params.post_id);
    }
  });
  
  // This will not work for me. Controller's content property will alway be null.
  App.Post.reopenClass({
    find: function(postId) {
      var result = null;
  
      $.getJSON('/' + postId, function(data) {
        result = App.Post.create(data);
      });
  
      return result;
    }
  });
  </code></pre>
  
  <p>What is the solution?</p>
  
  <p>Should I return dummy Ember.ObjectProxy instance with empty content and somehow let Ember know after content actually populated with object? What is a golden path?</p>