title: Fetching a single Backbone model from server
body: <p>Say I have a route setup:</p>
  
  <pre><code>'photos/:id' : 'showPhoto'
  </code></pre>
  
  <p>and somebody shares the url: <code>www.mysite.com/photos/12345</code> with a friend.</p>
  
  <p>When their friend clicks on the shared link, <code>showPhoto</code> gets called back with 12345 passed as the id. I cant figure out how to fetch the model from the server, because even when setting its id property and calling fetch(), backbone thinks that the model <code>isNew</code> and so the ajax request url is just <code>/photos</code> instead of <code>/photos/12345</code>:</p>
  
  <pre><code>showPhoto: (id) -&gt;
    photo = new models.Photo _id:id
    photo.fetch #does a GET to /photos, I would have expected it to request /photos/12345
      success: () -&gt;
        render photo view etc...
  
  Photo = Backbone.Model.extend
    idAttribute: '_id'
    urlRoot: '/photos'
  </code></pre>
  
  <p>The model <code>Photo</code> is usually part of a collection, but in this scenario someone is visiting the site directly and only expects to see data for one photo, so the collection is not instantiated in this state of the app. </p>
  
  <p>Is the solution to load the entire collection of photos and then use <code>collection.getById(id)</code>? This just seems way too inefficient when I just want to load the properties for one model.          </p>