我有一个使用 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
如果我可以访问.hamlc 文件中的@collection 变量,因为我将它分配给window.x。为什么我无法从 .hamlc 文件访问 @collection 项目?
我需要类似的东西
- for model in @collection.models
%p= model.get('landlord_id')
%p= model.get('tenant_id')
%p= model.get('at')
去工作