2015-10-03 3 views
0

Я учусь angularjs с рельсами, но я застрял, когда я прошуКак обрабатывать маршруты в angularjs с рельсами

http://localhost:3000/#/users 

это делает рельсы по умолчанию Welocome страницы

ниже мой файл 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> 

ответ

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

Смежные вопросы