Back Navigation Button not showing

I'm new to Ionic / Angularjs and learning to use it.

I'm fetching menu links from server and on clicking, it goes to detail page but Back button not showing. It is working in Tab Menu example from ionic. Also when i click browser Back Button, it shows on Homepage (I don't think it should show?) Could anyone tell me what's wrong?

Codes are as below:

Controller.js

angular.module('GAC.controllers', [])

.controller('AppCtrl', function($scope, pagesService) {
    //GET PAGE LIST
    pagesService.fetchFromServer().then( function(list){
        $scope.pageList = list; 
    });

})
.controller('PageCtrl', function($scope, $stateParams, pagesService) {
    if(!isNaN(parseInt($stateParams.pageId))){
        pagesService.fetchById( $stateParams.pageId ).then(function(page){
            $scope.page = page; 
        }); 
    }else{
        alert('No Such Page'); // How to redirect to Homepage   
    }
})
.factory('pagesService', ['$http', function( $http ){
    var service = {};
    service.fetchFromServer = function( ){
        var promise = $http.jsonp('http://m.aboudcar.com/server/pages/?callback=JSON_CALLBACK')
                        .then( function(response ){
                            return response.data;   
                        })
        return promise;                         
    };
    service.fetchById = function( pageId ){
        var promise = $http.jsonp('http://m.aboudcar.com/server/pages/fetchbyid/'+pageId+'?callback=JSON_CALLBACK')
                        .then( function(response ){
                            return response.data;   
                        })
        return promise;                         
    };

    return service;
}])

App.js

angular.module('GAC', ['ionic', 'GAC.controllers'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }
  });
})

.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider

    .state('app', {
      url: "/app",
      abstract: true,
      templateUrl: "templates/menu.html",
      controller: 'AppCtrl'
    })

    .state('app.cars', {
      url: "/cars",
      views: {
        'menuContent' :{
          templateUrl: "templates/cars.html",
          controller: 'CarsCtrl'
        }
      }
    })

    .state('app.single', {
      url: "/pages/:pageId",
      views: {
        'menuContent' :{
          templateUrl: "templates/page.html",
          controller: 'PageCtrl'
        }
      }
    });
  // if none of the above states are matched, use this as the fallback
  $urlRouterProvider.otherwise('/app/cars');
});

Menu.html

<ion-side-menus>
  <ion-side-menu-content>
    <ion-nav-bar class="bar-stable nav-title-slide-ios7">
      <ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"></i> Back</ion-nav-back-button>
    </ion-nav-bar>
    <ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
  </ion-side-menu-content>

  <ion-side-menu side="left">
    <header class="bar bar-header bar-stable">
      <h1 class="title">Menu</h1>
    </header>
    <ion-content class="has-header">
      <ion-list>
      <ion-item nav-clear menu-close ng-repeat="page in pageList" href="{{page.url}}">
          {{page.name}}
       </ion-item>
      </ion-list>
    </ion-content>
  </ion-side-menu>
</ion-side-menus>

Page.html

<ion-view title="{{page.name}}">
  <ion-content class="has-header">
    <h1>{{page.name}}</h1>
    {{page.content}} 
  </ion-content>
</ion-view>