我正在Ruby on Rails 4 之上构建一个AngularJS 应用程序。到目前为止,我只是拼凑了基础知识。这是一个简单的 config/routes.rb:
MyApp::Application.routes.draw do
devise_for :users
root :to => 'home#index'
namespace :api do
end
get '*a', to: 'home#index'
end
我有一个简单的application.html.erb
布局,它被标记为 AngularJS 并带有以下摘录:
<html ng-app="MyApp" ng-init="current_user = <%= current_user.to_json %>;">
在 Angular 方面,我使用 ui-router 进行了简单的路由设置:
MyApp.config(function($stateProvider, $urlRouterProvider){
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'index.html.erb' })
// For any unmatched url
$urlRouterProvider.otherwise('/login');
});
现在,如果我不将任何标记放入app/views/home/index.html.erb
中,则不存在无限递归问题。我将其添加到其中的那一刻,该应用程序就完全爆炸了:
<div ui-view></div>
我不确定如何使用ui-view
容器引导我的应用程序,以便 AngularJS 可以填充模板的其余部分。不完全确定是什么导致了这种无限递归。这是一个已知的问题?