RailsをAngularjsで使用しようとしています。Railsコントローラーが(データベース内の)情報を一覧表示および変更する要求を処理することを想定している間、Angularはすべてのクライアント側の作業を実行します。
私はviews/layouts /application.html.erbに簡単なテンプレートを持っています:
<!DOCTYPE html>
<html>
<head>
<title>SomeApp</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= stylesheet_link_tag "vendors", :media => "all" %>
<%= csrf_meta_tags %>
</head>
<body>
<div id="wrapper" ng-app="app" ng-controller="AppCtrl">
<div ng-controller="SomeApprCtrl">
<%= render 'header' %>
<div ng-view=""></div>
<%= render 'footer' %>
</div>
</div><!-- End on wrapper -->
<%= javascript_include_tag "application" %>
</body>
</html>
このテンプレートは、Angularを起動するために必要なすべてを実行します。しかし、私はRailsルートに何かを入れる必要があります。コントローラとアクションを定義する必要があります。次のように言います。
root :to => 'main#index'
index
これは、views / main/index.htmlに1つの空のメソッドと完全に空のテンプレートファイルのみを使用してコントローラーMainを定義する必要があることを意味します。この空の役に立たないファイルの出現を回避するにはどうすればよいですか?
私はApplicationControllerでroot :to => 'application#index'
空のindex
メソッドを使用して定義することを考えていましたが、このコントローラーは他のすべてのコントローラーへの継承の基本であるため、それらにがらくたを持たせたくありません。index.html
また、このアプローチは空のテンプレートの問題を解決しません