Enlace de método de elemento de directiva AngularJS - TypeError: No se puede usar el operador 'in' para buscar 'functionName' en 1

Este es el controlador de la plantilla principal:

app.controller('OverviewCtrl', ['$scope', '$location', '$routeParams', 'websiteService', 'helperService', function($scope, $location, $routeParams, websiteService, helperService) {
    ...     
    $scope.editWebsite = function(id) {
        $location.path('/websites/edit/' + id);
    };
}]);

Esta es la directiva:

app.directive('wdaWebsitesOverview', function() {
    return {
        restrict: 'E',
        scope: {
            heading: '=',
            websites: '=',
            editWebsite: '&'
        },
        templateUrl: 'views/websites-overview.html'
    }
});

Así es como se aplica la directiva en la plantilla principal:

<wda-websites-overview heading="'All websites'" websites="websites" edit-website="editWebsite(id)"></wda-websites-overview>

y este método se llama desde la plantilla de directiva (website-overview.html):

<td data-ng-click="editWebsite(website.id)">EDIT</td>

PREGUNTA: Cuando se hace clic en EDITAR, aparece este error en la consola:

TypeError: No se puede usar el operador 'in' para buscar 'editWebsite' en 1

¿Alguien sabe lo que pasa aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta