21

Haml ビューを備えた Rails アプリがあります。アプリケーションの一部に AngularJS を追加したいのですが、Haml ビューがサーバー側でレンダリングされ、クライアント側でレンダリングされるため、AngularJS コードが機能しないという問題があります。

私のindex.html.hamlにこれだけがあるとしましょう:

!!!
%html{"ng-app" => "Test"}
  %head
    %script{:src => "http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js"}
    :javascript
      function Clock($scope) {
        $scope.currentTime = new Date();
      }
    %title Welcome to AngularJS
  %body
    %h1 Hello, World.
    %p{"ng-controller" => "Clock"}
      The current time is {{currentTime | date:'h:mm:ss a'}}.

したがって、現在、中括弧内のすべてを実際に処理せずに出力するだけです。解決策はありますが、完全なビューが AngularJS テンプレートに置き換えられた場合の解決策です。主に Rails アプリの小さな機能のために AngularJS を使用したいと考えています。これを解決する方法はありますか?

4

1 に答える 1

23

ジョン、

ここでコードを少し編集しました: http://codepen.io/anon/pen/vKiwH

%html{"ng-app"=>true}
 %p{"ng-controller" => "clock"}
  The current time is {{currentTime | date:'h:mm:ss a'}}.

JavaScriptは次のとおりです。

function clock($scope) {
  $scope.currentTime = new Date().getTime();
}
于 2013-04-09T07:48:47.617 に答える