背景
我开始构建一个带有Angular.js前端和Rails后端的应用程序。通过thinkster教程,我相信我只需要bower来帮助我安装angular和bootstrap包(基本上是前端依赖项)。然后我需要通过Rails中的资产管道来要求包,使用一些额外的宝石,我应该好好去。
问题
要查看事情是否正常,我在app / assets / javascripts / home中有一个非常简单的_home.html文件,应该通过ui-router在'home'状态下加载(ui-router配置是在app.js)。当正确加载ui-view状态时,最终结果应该是显示“ScholarShipIt”和“Home Template”的页面。但是,它只显示“ScholarShipIt”,它告诉我状态没有加载。
疑难解答
我已尝试在js文件中的各个位置输出文本到控制台,以查看正在加载的位置。我也尝试在app.js文件中设置$ scope.test,然后设置一个表达式来显示该值,但这也不起作用。我的印象是角度包装没有正确加载,我不确定我缺少什么。
代码示例
使用的相关宝石
gem 'angular-rails-templates'
gem 'angular-ui-bootstrap-rails'
gem 'angular_rails_csrf'
gem 'responders'
gem 'sprockets'
的application.js
//= require angular
//= require angular-rails-templates
//= require angular-ui-router
//= require angular-ui-bootstrap
//= require_tree .
app.js
(function(){
var app = angular.module('scholarShipIt', ['ui.router','templates']);
app.config(function($stateProvider, $urlRouterProvider){
$stateProvider
.state('home', {
url: '/home',
controller: 'HomeController',
templateUrl: 'home/_home.html'
});
$urlRouterProvider.otherwise('home');
});
}());
HomeController.js
(function() {
var app = angular.module('scholarShipIt');
var HomeController = function($scope) {
$scope.test = "testing";
};
console.log("test");
app.controller('HomeController', HomeController);
}());
主要问题
我的应用程序中Rails需要加载角度文件的内容是什么?
(我很想知道你通常如何设置应用程序)
答案 0 :(得分:0)
我的javascript_include_tag在'application'之后有一些错误的文字