1)Rails route
$ rake routes
match '/app/sessions', to: 'sessions#destroy', via: 'delete'
2)AngularJS "sessionResource" service
$ vi app/assets/javascripts/mymodule.js.erb
myModule.factory("sessionResource", function($resource) {
return $resource("/app/sessions", {},
{
'create': { method: 'POST' },
'destroy': { method: 'DELETE' },
'current_user': { method: 'GET', isArray: false }
}
);
});
3)Rails controller
$ vi app/controllers/sessions_controller.rb
def destroy
cookies.delete(:remember_token)
head :no_content
end
4)add link to navigation menu
$ vi app/views/layouts/_header.html.erb
<li><a href="" ng-click="signout()">Sign out</a></li>
5)AngularJS controller
$ vi app/assets/javascripts/mymodule.js.erb
function CollapseDemoCtrl($scope, flashService, sessionResource, $location) {
$scope.signout = function() {
sessionResource.destroy({}, function(response) {
flashService.setUser(null);
$location.path("/");
});
};
}