我正在学习带有rails的AngularJs,我的应用程序中有一个post控制器。以下是我的路线
Rails.application.routes.draw do
root 'application#index'
get 'posts/index'
get 'posts/create'
get 'posts/show'
end
index.html.erb
<div ui-view></div>
以下是我的angularjs路线
angular.module('myApp', ['ngAnimate','ui.router','templates'])
.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('AllPosts', {
url: '/posts/index',
templateUrl: 'posts.html'
})
.state('createPost', {
url: '/posts/create',
templateUrl: 'create.html'
})
.state('showPost', {
url: '/post/show',
templateUrl: 'show.html'
})
});
但是当我在浏览器中遇到一些请求时,我感到困惑,那么这些路由将如何运作。请求的流程是什么以及如何显示正确的模板。
答案 0 :(得分:0)
AngularJs是一个仅限客户端的框架。您在uiRouter中设置的路由仅指定浏览器中的行为。
在您的示例中,当浏览器加载了角度应用程序时,它将实现javascript中指定的路由,以便当浏览器中的URL为/#/posts/index
时,它将加载URL {{1}的内容使用posts.html
属性进入div。这种情况发生时没有任何连接到只在http服务器上运行的rails路由。