在Backbone.js中过滤模型

时间:2012-09-19 15:42:52

标签: ruby-on-rails backbone.js coffeescript

我有一个名称为的项目模型:string和state:integer。有5种类型的州。例如,我想将状态为3的所有项目放入#prospects div中。我怎样才能做到这一点?

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,Backbone和Coffeescript

2 个答案:

答案 0 :(得分:0)

_.each(projectCollection.where({state: 3}), function(project) {
    $('#prospects').append($('<span>' + project.get('name') + '</span>'));
});

答案 1 :(得分: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