现在我已经用了几个小时来将轨道工作与角度整合在一起,我即将放弃。我正在学习本教程:
' 我让它更简单
在我的application.js中,我需要以下内容:
//= require jquery
//= require jquery_ujs
//= require angular
在我的main.js.coffe中,我要求获取以下js文件:
#= require_self
#= require_tree ./controllers/main
在我的app/assets/javascripts/controllers/main/mainIndexCtrl.js.cofee
中,我的行与他在教程中的行相同:
@IndexCtrl = ($scope) ->
$scope.title = "My blog"
所以这是有趣的部分:
我的"大师" view与教程完全相同:
<!DOCTYPE html>
<html ng-app>
<head>
<title>Blog</title>
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application", controller_name %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
所以从理论上讲,当我在http://localhost:3000/main/Index
运行我的应用程序时,我应该得到与他完全相同的结果,但不是。
我收到运行时错误,该错误表示它在(in /app/assets/javascripts/main.js.coffee)
处失败,而没有其他错误。我真的无法弄清楚到底出了什么问题。如果我用一些随机字符串切换controller_name,例如&#39; hugabuga&#39;页面加载,当然角度不会工作,因为没有链接到控制器索引。
我对cofee脚本不太熟悉,但是控制器的定义方式可能不正确?
答案 0 :(得分:0)
在另一个教程中,我不得不添加另一个Gem
gem 'angular-rails-templates'
并修改application.js以包含:
//= require jquery
//= require jquery_ujs
//= require angular/angular
//= require angular-route/angular-route
//= require angular-rails-templates
//= require_tree .
列出JS的顺序也很重要。确保文件中的内容与视频中显示的内容相同。