define([
  'jquery',
  'underscore',
  'backbone',
  'templates',
  'collections/bullet',
  'views/select_bullets',
  'views/new_bullet',
  'views/edit/bullet'
], function ($, _, Backbone, JST, BulletCollection, SelectBulletsView, NewBulletView, EditBulletView) {
  'use strict';

  var EditItemView = Backbone.View.extend({
    template: JST['app/scripts/templates/edit_item.ejs'],

    id: 'edit-item',

    events: {
      'click #save_item': 'save',
      'click #cancel': 'cancel'
    },

    initialize: function(options) {
      this.resume = options.resume;
      this.auth = options.auth;
      this.vent = options.vent;
      this.listenTo(this.model, 'sync', this.itemSynced);

      this.bullets = new BulletCollection();
      this.listenTo(this.bullets, 'sync', this.contentLoaded);
      this.bullets.fetch();
    },

    contentLoaded: function() {
      this.initSelectBulletsView();
      this.trigger('item:edit:ready');
    },

    initSelectBulletsView: function() {
      this.selectBulletsView = new SelectBulletsView({
        collection: this.bullets,
        auth: this.auth,
        selectedBullets: this.model.get('bullet_ids')
      });
      this.listenTo(this.selectBulletsView, 'show:new:bullet', this.showNewBullet);
      this.listenTo(this.selectBulletsView, 'bullet:edit:show', this.renderEditBulletView);
    },

    render: function() {
      this.$el.html(this.template());
      this.renderSelectBulletsView();
      return this;
    },

    renderSelectBulletsView: function() {
      this.$('section#bullets').html(this.selectBulletsView.render().el);
    },

    renderEditBulletView: function(bulletId) {
      var bullet = this.bullets.get(bulletId);
      var editBulletView = new EditBulletView({
        model: bullet
      });
      this.listenTo(editBulletView, 'bullet:edit:cancel', this.cancelEditBullet);
      this.$('section#bullets').html(editBulletView.render().el);
    },

    cancelEditBullet: function() {
      this.renderSelectBulletsView();
    },

    save: function(e) {
      e.preventDefault();
      this.model.set(this.newAttributes());
      if (this.auth) {
        var header = { headers: { 'X-Toke-Key': this.auth.token.get('key') }};
        this.model.save({}, header);
      } else {
        console.log('Not Authorized');
      }
    },

    newAttributes: function() {
      return {
        name: this.$('#new_item_name').val(),
        title: this.$('#new_item_title').val(),
        heading: this.$('#new_item_heading').val()
      };
    },

    itemSynced: function(model, response, options) {
      this.trigger('item:updated');
    },

    cancel: function(e) {
      e.preventDefault();
      this.vent.trigger('show:edit_resume', this.resume.id);
    },

    showNewBullet: function() {
      var nbv = new NewBulletView({
        collection: this.model.bullets,
        model: this.model,
        auth: this.auth
      });
      this.listenTo(nbv, 'bullet:new:saved', this.newBulletSaved);
      this.listenTo(nbv, 'bullet:new:cancel', this.cancelBullet);
      this.$('section#bullets').html(nbv.render().el);
    },

    newBulletSaved: function(bullet) {
      this.bullets.add(bullet);
      this.selectBulletsView.setSelectedBullets(this.model.get('bullet_ids'));
      this.renderSelectBulletsView();
    },

    cancelBullet: function() {
      this.render();
    }
  });

  return EditItemView;
});

@@ -1227,20 +1227,22 @@
 ', this.
-show
+render
 NewBulle
@@ -1581,32 +1581,81 @@
 w.render().el);%0A
+      Backbone.history.navigate(this.editUrl());%0A
     %7D,%0A%0A    rend
@@ -1960,32 +1960,96 @@
 w.render().el);%0A
+      Backbone.history.navigate(this.editBulletUrl(bullet.id));%0A
     %7D,%0A%0A    canc
@@ -2797,13 +2797,8 @@
 his.
-vent.
 trig
@@ -2806,41 +2806,25 @@
 er('
-show:edit_resume', this.resume.id
+item:edit:cancel'
 );%0A 
@@ -2834,20 +2834,22 @@
 %7D,%0A%0A    
-show
+render
 NewBulle
@@ -2874,19 +2874,20 @@
     var 
-nbv
+view
  = new N
@@ -2932,23 +2932,30 @@
 s.model.
+get('
 bullets
+')
 ,%0A      
@@ -3021,35 +3021,36 @@
   this.listenTo(
-nbv
+view
 , 'bullet:new:sa
@@ -3097,19 +3097,20 @@
 istenTo(
-nbv
+view
 , 'bulle
@@ -3131,24 +3131,27 @@
  this.cancel
+New
 Bullet);%0A   
@@ -3188,11 +3188,12 @@
 tml(
-nbv
+view
 .ren
@@ -3417,16 +3417,19 @@
   cancel
+New
 Bullet: 
@@ -3458,24 +3458,291 @@
 s.render();%0A
+    %7D,%0A%0A    editBulletUrl: function(bulletId) %7B%0A      return %22resumes/%22 + this.resume.id + %22/items/%22 + this.model.id + %22/bullets/%22 + bulletId + %22/edit%22;%0A    %7D,%0A%0A    editUrl: function() %7B%0A      return %22resumes/%22 + this.resume.id + %22/items/%22 + this.model.id + %22/edit%22;%0A
     %7D%0A  %7D);%0A

Change URL going between select_bullet and edit/bullet views.