为什么即使Angularjs正在运行,Angularjs代码也不会在rails中呈现?

时间:2014-07-03 04:54:20

标签: ruby-on-rails angularjs haml

我正在尝试将一些angularjs实现到我的Rails应用程序中。

我已经完成了以下操作,Angular正在运行(我将angular键入到开发控制台中),但没有在我的HAML文件中渲染/执行我的角度代码。

一个。为我的gemfile添加了角度:

source 'https://rails-assets.org'
gem "rails-assets-angular"
group :development, :test do
  gem 'rails-assets-angular-mocks'
end

湾已将//= require angular//= require angular/admin/adminApp(我的Angular App文件)添加到app / assets / javascripts / application.js

℃。通过将%html{ 'ng-app' => true }添加到布局app / views / layouts / application.html.haml中的标记来启用Angular

d。添加了adminApp:

adminApp = angular.module('adminApp', ['ngResource'])

即添加和adminController:

'use strict';
angular.module('adminApp')
  .controller('AdminCtrl', function ($scope, $http) { 
  $scope.test = "This is working!"
  });

F。将以下内容添加到我的应用程序的index.html.haml之一:

UPDATE:更改haml以使角元素位于ng-controller div内

%div{"ng-controller" => "AdminCtrl"}
   {{test}}
   %p Hello {{"World" + "!"}}

加载该页面后,我得到了非偏振的输出:

{{测试}} 您好{{“World”+“!”}}}

从我读过的所有内容来看,它都应该有效。只是不确定我哪里出错了。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

您似乎在注射ngResource。 默认情况下,它不包含在角度中,因此如果要使用它,则需要添加以下内容:

Gemfile 中的

gem "rails-assets-angular-resource"

application.js //= require angular-resource

同时将%html{ 'ng-app' => true }更改为%html{'ng-app' => "adminApp"}