2012-09-19 39 views
0

我有一个名称为string和state:integer的项目模型。有5种状态。例如,我想将状态为3的所有项目放入#prospects div。我该如何做这项工作?在Backbone.js中筛选模型

appendProject: (project) => 
    # this renders all projects 
    view = new Trackproject.Views.Project(model: project) 
    @$('#projects').append(view.render().el) 
    # this is how i want it to work 
    @$('#prospects').append(state3.render().el) 
    @$('#upcoming').append(state4.render().el) 

我认为你可以在收集文件中过滤它,但我无法弄清楚如何将它加载到视图中。

我使用Rails,骨干网和CoffeeScript的工作

回答

0

正确答案是

appendProject: (project) => 
    view = new Trackproject.Views.Project(
       model: project 
     ) 
    state = project.get("state") 
    if state is 1 
     @$("#projects").append view.render().el 
    else if state is 2 
     @$("#prospects").append view.render().el 
    else if state is 3 
       @$("#upcoming").append view.render().el 
     else if state is 4 
       @$("#current").append view.render().el 
     else if state is 5 
       @$("#completed").append view.render().el 
     else 
       @$("#projects").append view.render().el 
0
_.each(projectCollection.where({state: 3}), function(project) { 
    $('#prospects').append($('<span>' + project.get('name') + '</span>')); 
}); 
+0

我看到,但我在哪里把这段代码?在收藏或视图? – bartligthart

+0

在视图中。当然你需要有项目集合。 –