```coffeescript
ETahi.RedirectsIfEditable = Em.Mixin.create
  toggleEditable: ->
    @get('controller').send('editableDidChange')

  setupEditableToggle: (->
    @addObserver('controller.model.editable', @, @toggleEditable)
  ).on('didInsertElement')

  teardownEditableToggle: (->
    @removeObserver('controller.model.editable', @, @toggleEditable)
  ).on('willDestroyElement')
```

Fix transitions when editable isn’t actually changing
user
```coffeescript
ETahi.RedirectsIfEditable = Em.Mixin.create
  editable: Ember.computed.alias('controller.model.editable')

  toggleEditable: ->
    if @get('editable') != @get('lastEditable')
      @set('lastEditable', @get('editable'))
      @get('controller').send('editableDidChange')

  setupEditableToggle: (->
    @set('lastEditable', @get('editable'))
    @addObserver('editable', @, @toggleEditable)
  ).on('didInsertElement')

  teardownEditableToggle: (->
    @removeObserver('editable', @, @toggleEditable)
  ).on('willDestroyElement')
```
assistant