クライアント側のテンプレート言語として Backbone.js と HAML を使用した Rails プロジェクトがあります。
ファイル app/assets/views/meeting.coffee:
class window.MeetingIndex extends Backbone.View
template: JST['meeting/index']
render: ->
@collection.fetch()
@$el.html(@template(collection: @collection))
this
ファイル app/assets/javascripts/templates/meeting/index.hamlc 内
- console.log(@collection.length) # prints 0 in console
- console.log(@collection.models) # prints [] in console
- console.log(@collection.at(0)) # prints undefined in console
- window.x = @collection
ブラウザ コンソールに移動すると、次のように表示されます。
x.length # returns 2
x.models # returns [Meeting, Meeting]
x.at(0) # returns Meeting object
window.x に割り当てているため、.hamlc ファイルの @collection 変数にアクセスできる場合。.hamlc ファイルから @collection 項目にアクセスできないのはなぜですか?
次のようなものが必要です
- for model in @collection.models
%p= model.get('landlord_id')
%p= model.get('tenant_id')
%p= model.get('at')
働く