私はバックボーンを学ぼうとしているレール開発者です。Underscore
テンプレートには<%=%>
のようなシンボルが含まれているので、erb
ファイルにテンプレートを含めることはできませんので、すべての単一のテンプレート?そして、どのような拡張機能が必要ですか?Railsフレームワークでバックボーンテンプレートを配置する必要がありますか?
答えて
あなたは開始タグで2 %
を使用してERB記号をエスケープし、レールのビューであなたのバックボーンテンプレートを置くことができます:あなたのページに以下の
<script type='text/template' id="my-template'>
<%%= name %>
</script>
意志出力:
<script type='text/template' id="my-template'>
<%= name %>
</script>
あなたのバックボーンテンプレートをあなたのレールビューに直接置くことは、あなたが勉強しようとしているときにIMHOの最良の選択肢です。あなたはすでに新しいコンセプトに取り組んでいます。もう1つのハードルを追加する必要はありません。
バックボーンテンプレートはどこに貼り付けますか?私はどこにも言いません。私は、ほとんどのRailsアプリケーションでは、HTMLのすべてのレンダリングをサーバーが担うべきだと考えていますが、クライアント側のJavaScriptは、レンダリングされたHTMLをDOMに挿入する責任があります。とりわけ、これは簡単になります。
Railsがクライアント側で主に実行されるアプリケーションの軽量バックエンドとして使用されている場合は例外です(ただし、Sinatraなどを代わりに使用することもできます)。この場合、Railsはおそらくを何もにレンダリングし、JSはすべてレンダリングする必要があります。
ここに基本原則があります。サーバーがすべてのレンダリングを担当する必要があります。それを分割することは人生をより困難にするでしょう。
表の行のような小さなレンダリングはどうですか? –
同じ答え。レンダリングを分割しないでください。あるいは私はあなたの質問を誤解していますか? –
私はその答えを誤解するかもしれません。さて、 'Backbone.js'を使うために、私はどこかにテンプレートを書く必要があります。このテンプレートは '<%= %>'タグを使い、私の質問は、このタグをクライアントにレンダリングする方法があるのか、それともBackbone.js(Underscore.js)テンプレートをレンダリングするのに使用できるフォーマットがあるのかということでした。 –
Rails 3.1からは、アセットパイプラインと自動JST(JavaScriptテンプレート)のコンパイルという、Backboneテンプレートの操作を簡単にする2つの機能が用意されています。
app/assets
フォルダーにtemplates
という名前のディレクトリーを作成します。このディレクトリはアセットパイプラインによって自動的に選択されます。
次に、拡張子がjst
のディレクトリにファイル名を付け、作成するテンプレートのタイプをejs
(埋め込みjavascript)にします。ディレクトリにそれらをネストすることさえできます。たとえば:
app/assets/templates/my_template.jst.ejs
app/assets/templates/bookmarks/show.jst.ejs
アセットパイプラインは、単に(および必要な宝石を含む)ファイルの拡張子を変更することにより、他のテンプレートに埋め込まCoffeeScriptのような言語、口ひげ、ハンドルバーなどを使用することができます。
今、単にファイル名にパスを使用して、あなたのバックボーンビューであなたJSTテンプレートを参照するために:
var Bookmark = Backbone.View.extend({
template: JST['bookmarks/show'],
render: function() {
this.$el.html(this.template(this.model.attributes));
return this;
}
});
あなたのapplication.js
に次の行を追加する必要があります。
// require_tree ../templates
がここにありますこのすべてをもう少し詳しく説明している素敵な記事:http://www.bigjason.com/blog/precompiled-javascript-templates-rails-3-1
- 1. MediaPlayerをサービスに配置する必要がありますか?
- 2. コールバックをレールアプリケーションに配置する必要がありますか?
- 3. カスタムコントロールをApp_Codeに配置する必要がありますか?
- 4. UITearchViewにUISearchBarを配置する必要がありますか?
- 5. ルックアップテーブルはマイクロサービスアーキテクチャに配置する必要がありますか?
- 6. 右側にブートストラップメニューアイコンを配置する必要があります
- 7. イメージをMSMQに配置する必要があります
- 8. ajaxバックエンドファイルはコードシニターに配置する必要があります
- 9. Django RestフレームワークでAnonymousUserでログインする必要があります
- 10. jQueryを使用してRails 3.2にページ関連のJavaScriptコードを配置する必要がありますか?
- 11. FORALLをforループの外側に配置する必要がありますか?
- 12. アクティビティインジケータリリース文をdeallocに配置する必要がありますか?
- 13. なぜ新しいプレースメントを配置する必要がありますか?
- 14. HTMLの上部に何を配置する必要がありますか?
- 15. AssemblyInfo.csをバージョン管理に配置する必要がありますか?
- 16. AssemblyTrademarkAttributeには何を配置する必要がありますか?
- 17. Rails 3.1:CoffeeScriptを使用する必要がありますか?
- 18. ASMX WebServiceにDLLを配置する必要がある場合、どこに配置する必要がありますか?
- 19. C#:グラフィックス要素をカスタムコントロール内に配置する必要はありますか?
- 20. 流星法でcreateUserコードを配置する必要はありますか?
- 21. SqlDataReaderコードはどのセクションに配置する必要がありますか?
- 22. サイト構成データリポジトリはどこに配置する必要がありますか?
- 23. イメージはコンポーネントと同じフォルダに配置する必要がありますか?
- 24. Angularフォルダはgoogle-services.jsonに配置する必要がありますか?
- 25. クルーズコントロール:タスクやパブリッシャーに配置する必要がありますか?
- 26. カスタムクエリ関数はどこに配置する必要がありますか?
- 27. WordPressカスタムページテンプレートはどこに配置する必要がありますか?
- 28. どのUbuntuフォルダでPlayフレームワークを解凍する必要がありますか?
- 29. いつJavaScriptでMVCフレームワークを使用する必要がありますか?
- 30. Rails 3.1インデックスページ上で編集する必要があります
素晴らしいヒント、私はそれを知らなかった。確かに私は資産内のツリーにきれいに格納されているjstを使用します – apneadiving
私はアンダースコアテンプレートにカスタム正規表現を使用していました。 2つの '%'チップをありがとう。 – Agent47DarkSoul