在我的网络应用程序中,当我转到我的某个网址时,angularjs会将haml模板作为纯文本返回给我。 但是,如果我去我的根网址它工作正常。我使用Rails 3.2.13,AngularJS 1.1.4,Haml作为视图。
这是我的app / views / layouts / application.html.haml
!!! 5
%html{'ng-app' => 'myproject'}
%head
%title MyProject
= favicon_link_tag
= stylesheet_link_tag 'application'
= javascript_include_tag 'application'
= csrf_meta_tag
%body
.main-background
.app{'ng-view' => ''}
= yield
这是我的app / assets / javascripts / main.js.coffee
@app = angular.module('myproject', [])
这是我的app / assets / javascripts / routes.js.coffee
app.config ['$routeProvider', '$locationProvider', ($routeProvider, $locationProvider) ->
$routeProvider
.when '/',
templateUrl: '/assets/signin/index.haml',
controller: 'SignInController'
.when '/signup/:code',
templateUrl: '/assets/signup/index.haml',
controller: 'SignUpController',
]
我分别在app / asssets / javascripts / controllers /中有2个控制器。他们都是emty。 我也使用html5推送状态,喜欢这个(push_state.js.coffee)
app.config ($locationProvider) ->
$locationProvider.html5Mode true
而且,我在appUrl中的app / assets / templates,whith路径中有视图。
我的问题是,当我去'/'时,angularjs渲染我的视图很好,但是,当我转到第二个网址时,它会返回一个span标签中的纯文本,其中包含haml模板。我试图只使用一个if语句与第二个模板,它是相同的结果。 而且,问题是我应该怎样做才能正确地呈现我的第二个观点?
答案 0 :(得分:0)
我找到了解决方案。这很奇怪,但是当我在我的模板中进行一些编辑,然后恢复然后回来,之后所有模板都正确渲染。在这两种情况下,在编辑之前和之后,模板都具有相同的标记。