Ruby on rails 3 Angularjs路由匹配

Ruby on rails 3 Angularjs路由匹配,ruby-on-rails-3,angularjs,Ruby On Rails 3,Angularjs,在我的一个视图中,有一个类似于href属性href=“!#/Program”的链接,我正在尝试将其与下面的路由匹配,但它给了我一个无路由匹配错误,如“无路由匹配”/!“ var app = angular.module('app', []); app.config(function ($routeProvider,$locationProvider) { //$locationProvider.html5Mode(false); //$locat

在我的一个视图中,有一个类似于href属性href=“!#/Program”的链接,我正在尝试将其与下面的路由匹配,但它给了我一个无路由匹配错误,如“无路由匹配”/!“

var app = angular.module('app', []);
         app.config(function ($routeProvider,$locationProvider) {
        //$locationProvider.html5Mode(false);
        //$locationProvider.hashPrefix("!") ;
        $routeProvider
    .when('/',
    {
        templateUrl: "app.html",
        controller: "AppCtrl"
    }

)
    .when('/Program' ,
    {   templateUrl: "detail1.html" ,
        controller: "Redirect"
    }
)
    .when('/Program/123456/channel/78458585',

    {
        templateUrl: "details.html" ,
        controller: "Detail"
    }
    )  ;
我的html代码是

<p><a href="!#/Program">Click me</a></p>  
var app = angular.module('app', []);
         app.config(function ($routeProvider,$locationProvider) {
        //$locationProvider.html5Mode(false);
        //$locationProvider.hashPrefix("!") ;
        $routeProvider
    .when('/',
    {
        templateUrl: "app.html",
        controller: "AppCtrl"
    }

)
    .when('/Program' ,
    {   templateUrl: "detail1.html" ,
        controller: "Redirect"
    }
)
    .when('/Program/123456/channel/78458585',

    {
        templateUrl: "details.html" ,
        controller: "Detail"
    }
    )  ;

})

您应该只使用不带
砰(!)
的路径,尝试以下操作:

var app = angular.module('app', []);
         app.config(function ($routeProvider,$locationProvider) {
        //$locationProvider.html5Mode(false);
        //$locationProvider.hashPrefix("!") ;
        $routeProvider
    .when('/',
    {
        templateUrl: "app.html",
        controller: "AppCtrl"
    }

)
    .when('/Program' ,
    {   templateUrl: "detail1.html" ,
        controller: "Redirect"
    }
)
    .when('/Program/123456/channel/78458585',

    {
        templateUrl: "details.html" ,
        controller: "Detail"
    }
    )  ;
<p><a href="#/Program">Click me</a></p>  

#
是分隔符,前缀插入在
#
部分的开头,该部分位于
#
之后

请同时给出html,请参见我编辑的问题
var app = angular.module('app', []);
         app.config(function ($routeProvider,$locationProvider) {
        //$locationProvider.html5Mode(false);
        //$locationProvider.hashPrefix("!") ;
        $routeProvider
    .when('/',
    {
        templateUrl: "app.html",
        controller: "AppCtrl"
    }

)
    .when('/Program' ,
    {   templateUrl: "detail1.html" ,
        controller: "Redirect"
    }
)
    .when('/Program/123456/channel/78458585',

    {
        templateUrl: "details.html" ,
        controller: "Detail"
    }
    )  ;