1

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-viewAngularJS が残りのテンプレートを作成できるように、コンテナーを使用してアプリをブートストラップする方法がわかりません。この無限再帰の原因は完全にはわかりません。これは既知の問題ですか?

4

3 に答える 3

1

少し異なる原因で同様の問題が発生しました: 私の routeProvider にテンプレートがありません。しかし、エラーをスローする代わりに、.htaccess によって index.html が提供され、無限再帰が発生しました。

于 2014-01-10T14:39:06.267 に答える