Мне нужен совет, как подключить два контроллера в разных режимах в Rails. У меня есть предметы и корзина в моем указателе, когда я нажимаю элемент на новой вкладке и добавляю товар в корзину. Я хочу, чтобы этот товар был добавлен в корзину. Wihout обновил его.Контроллеры связи Angularjs в разных режимах - Rails
app.controller('LineItemsController', ['$scope', '$rootScope', '$controller', 'LineItems',
function($scope, $rootScope, $controller, LineItems) {
$controller('CartsController', {
$scope: $scope
});
$scope.fetchLineItems = function() {
LineItems.get({
cartId: cartId
}).then(
function(results) {
$scope.lineItems = results;
},
function(error) {}
)
};
$scope.fetchLineItems();
$scope.$on('scanner-started', function(event, args) {
console.log("alert");
$scope.fetchLineItems();
});
}
]);
app.controller('LineItemController', ['$scope', '$rootScope', '$controller', 'LineItem',
function($scope, $rootScope, $controller, LineItem) {
$controller('LineItemsController', {
$scope: $scope
});
$scope.addItem = function() {
new LineItem({
itemId: window.Id
}).create().then(
function(results) {
$scope.linkUpdated = true;
$rootScope.$broadcast('scanner-started');
},
function(error) {
$scope.errors = true;
$scope.linkUpdated = false;
}
)
};
}
]);
app.factory('LineItem', ['railsResourceFactory',
function(railsResourceFactory) {
return railsResourceFactory({
url: '/items/{{itemId}}/line_items',
title: 'line_item'
});
}
]);
app.factory('LineItems', ['railsResourceFactory',
function(railsResourceFactory) {
return railsResourceFactory({
url: '/carts/{{cartId}}/line_items',
title: 'line_item'
});
}
]);
Мой код выглядит следующим образом: я добавил $ broadcast и $ on, но он работает только на моем шоу, а не в индексе.
Есть ли что-то вроде обновления $ scope или что-то вроде того, что я могу дать моему индексу?