Я изучаю angularjs с рельсами, но я застрял, когда я прошу
http://localhost:3000/#/users
он отображает страницу приветствия racon по умолчанию
ниже мой файл app.js
var app = angular.module('myApp', ['ngRoute', 'ngResource']);
app.controller('myCtrl', function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/users',{
templateUrl: 'home.html',
controller: 'myCtrl'
}
);
}]);
application.html.erb
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>Books</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<div class="container" ng-view>
<%= yield %>
</div>
</body>
</html>
Вам нужно создать новый маршрут:
# config/routes.rb
root to: 'angular#index'
и контроллер с действием:
# app/controllers/angular_controller.rb
class AngularController < ApplicationController
def index; end
end
и шаблон с ng-view
:
# views/angular/index.html.erb
<div class="container" ng-view>
</div>
Я бы не рекомендовал поместить ng-view
в layouts/application
, лучше разместить его в файле шаблона страницы.
Теперь по умолчанию страница Rails должна исчезнуть, и вы можете протестировать свое угловое приложение.