2011-11-15 6 views

答えて

12

あなたは開始タグで2 %を使用してERB記号をエスケープし、レールのビューであなたのバックボーンテンプレートを置くことができます:あなたのページに以下の

<script type='text/template' id="my-template'> 
    <%%= name %> 
</script> 

意志出力:

<script type='text/template' id="my-template'> 
    <%= name %> 
</script> 

あなたのバックボーンテンプレートをあなたのレールビューに直接置くことは、あなたが勉強しようとしているときにIMHOの最良の選択肢です。あなたはすでに新しいコンセプトに取り組んでいます。もう1つのハードルを追加する必要はありません。

+0

素晴らしいヒント、私はそれを知らなかった。確かに私は資産内のツリーにきれいに格納されているjstを使用します – apneadiving

+0

私はアンダースコアテンプレートにカスタム正規表現を使用していました。 2つの '%'チップをありがとう。 – Agent47DarkSoul

-3

バックボーンテンプレートはどこに貼り付けますか?私はどこにも言いません。私は、ほとんどのRailsアプリケーションでは、HTMLのすべてのレンダリングをサーバーが担うべきだと考えていますが、クライアント側のJavaScriptは、レンダリングされたHTMLをDOMに挿入する責任があります。とりわけ、これは簡単になります。

Railsがクライアント側で主に実行されるアプリケーションの軽量バックエンドとして使用されている場合は例外です(ただし、Sinatraなどを代わりに使用することもできます)。この場合、Railsはおそらくを何もにレンダリングし、JSはすべてレンダリングする必要があります。

ここに基本原則があります。サーバーがすべてのレンダリングを担当する必要があります。それを分割することは人生をより困難にするでしょう。

+0

表の行のような小さなレンダリングはどうですか? –

+0

同じ答え。レンダリングを分割しないでください。あるいは私はあなたの質問を誤解していますか? –

+0

私はその答えを誤解するかもしれません。さて、 'Backbone.js'を使うために、私はどこかにテンプレートを書く必要があります。このテンプレートは '<%= %>'タグを使い、私の質問は、このタグをクライアントにレンダリングする方法があるのか​​、それともBackbone.js(Underscore.js)テンプレートをレンダリングするのに使用できるフォーマットがあるのか​​ということでした。 –

4

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

関連する問題