AngularJS - É possível alterar o valor do atributo ngModel na diretiva no link ou compilar?

Eu estou tentando criar uma diretiva que irá adicionar um atributo ngModel a uma marca com base no valor do atributo. Por exemplo:

angular.module('myModule').
  directive('myDirective', function() {
    return {
      link: function(scope, elem, attrs) {
        var modelName = 'myPrefix.' + attrs.name;
        attrs.$set('ngModel', modelName);
      }
    };
  });

Para que este html:

<input name="foo" my-directive></input>

é compilado em

<input name="foo" ng-model="myPrefix.foo" my-directive></input>

Ele pega o nome da entrada, anexa um prefixo e define o atributo ngModel para esse valor.

Quando tento fazer isso na função de link, parece que oinput não está sendo registrado com o formController, de modo queform.foo retorna indefinido.

É possível realizar o que estou tentando fazer?

EDITAR:

Parece que ongModel atributo está sendo definido no HTML, mas não está sendo registrado com o formulário, ou o ngModelController não está sendo instanciado. Se eu olhar para o valor dengModel no escopo, ele não muda quando modifico a entrada.

questionAnswers(2)

yourAnswerToTheQuestion