2013-06-06 11 views
7

角度uiブートストラップのカスタムテンプレートをレールで使用するにはどうすればよいですか?Railsの角度付きブートストラップカスタムテンプレート

たとえば、paginationを使用すると、templates/pagination/pagination.htmlテンプレートが検索されます。

問題は、レールがそのパスのテンプレートを提供しないということです。実際にはヘルパーを使用してassets/templates/pagination/pagination.htmlにする必要があります。

角度のあるブートストラップのjavascriptファイルをハッキングするのは方法ですが、新しいバージョンを入手するたびにハッキングする気がしません。

答えて

5

カスタムテンプレートをライブラリ自体に、または別のファイルの中にバンドルすることをお勧めします。使用する方法は、$templateCacheにカスタムテンプレートの内容を入力することです。あなたは、ビルドプロセスの一環として$templateCacheにテンプレートをバンドルしたり、必要な(この場合、手動でこのファイルを準備することができ

https://github.com/angular-ui/bootstrap/blob/gh-pages/ui-bootstrap-tpls-0.3.0.js#L2042

:私が何を意味するか見るためにtamplatesで配布されたファイルを見ることもできます。テンプレートをJS文字列として書く)。

それぞれのディレクティブごとにXHR経由で個別のテンプレートをダウンロードすると、多くのXHR要求が発生し、アプリケーションの処理速度が低下するため、無駄になります。また、テンプレートを$templateCacheにプリロードする場合は、必要なパスを指定することができます。パスは、WWWサーバー上で有効なパスである必要はありません。

+0

素晴らしいです、$ templateCacheは、ドキュメントを持っていませんが、私は考え出しました。私は '名前'を提供できることを知っていることを知っていて、その名前のテンプレートを探すディレクティブがあれば、私が望むものを提供することができます。私は共有のためにやったことで私の質問を更新します:) –

0

私はjowerを使用してjsライブラリを管理しています。 は、したがって、私は私のvendor/assets/javascripts/フォルダ内のこれらのファイルを持っている:あなたは、単にあなたのjavascriptのマニフェストファイルでそれらを必要とすることができ、これらのファイルで angular-ui/bootstrap-bower

//= require angular-bootstrap/ui-bootstrap 
//= require angular-bootstrap/ui-bootstrap-tpls 

を(通常はapplication.js)、その後、あなたはしないでください既定のビルトインテンプレートを使用する場合は、テンプレートを指定する必要があります。

私は、次のURL 参考に、この解決策を見つける:angular-ui-bootstrap-directive-template-missing

+0

ありがとうございましたが、アイデアは自分のテンプレートを使用していました。とにかく、私は角形のアプリケーションを作成し、それをレールのパブリックフォルダにダンプするために線形関数で終わった。 –

関連する問題