Как обрабатывать маршруты в angularjs с рельсами

0

Я изучаю 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>

1 ответ

0

Вам нужно создать новый маршрут:

# 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 должна исчезнуть, и вы можете протестировать свое угловое приложение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню