Теперь я использовал пару часов для интеграции рельсов вместе с угловыми, и я собираюсь сдаться. Я следую этому руководству:
', и я сделал это еще проще
В моем приложении 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"
Итак, вот смешная часть:
мой "Мастер" вид точно такой же, как в учебнике:
<!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
я должен получить тот же результат, что и он, но нет.
Я получаю Runtime error, в котором говорится, что он потерпел неудачу (in/app/assets/javascripts/main.js.coffee)
и ничего больше. Я действительно не могу понять, что именно происходит неправильно. Если я переключу имя_контроллера с некоторой случайной строкой, например, загрузкой страницы "hugabuga" и, конечно же, угловым шрифтом, потому что нет ссылки на индекс контроллера.
Я не очень опытен с скриптом cofee, но, возможно, способ, которым определяется контроллер, неверен?
В другом уроке мне пришлось добавить еще один 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, также важен. Убедитесь, что в вашем файле одинаково то, что показано на видео.
gemfile
и запустилиbundle install
?