通过获取集合获取一个帖子回到主干

时间:2014-05-30 16:44:58

标签: backbone.js

我有以下系列:

AisisWriter.Collections.Posts = Backbone.Collection.extend({
  model: AisisWriter.Models.Post,
  // Build the url based on blog id.
  url: function() {
    url = '/api/v1/blogs/' + AisisWriter.blog_id + '/posts/'
    return url;
  }
});

这允许我这样做:

var options = { reset: true };
this.writer_posts.fetch(options).then(this.postsRecieved, this.serverError);

这将返回我所有帖子,目前六个。

我已经厌倦了:

var options = { reset: true };
this.writer_posts.fetch({id: id}).then(this.postsRecieved, this.serverError);
// id is the id passed into the route, in this case it's #=> {id: 6}

但这仍然会让我回复所有六个帖子,我看到this answer,但我认为我不应该通过,或者在代码中间扩展模型只是为了追加一个ID ,当我使用集合来获取数据时,我和模型用于Post,Put和Delete操作。

那么如何退回一个帖子?

1 个答案:

答案 0 :(得分:0)

通常,要从Collection中获取一些模型,您应该获取Collection,然后通过id获取所需的模型,例如:

this.writer_posts.fetch();

收集后,您将获取get method

this.writer_posts.get(id);

或者您可以尝试通过在fetch method中传递必需的ID来获取特定的模型:

this.writer_posts.fetch({
    data: {
        id: id
    }
});

或类似的东西。