Backbone belongs_to has_many



长期Rails Dev,Backbone Noob。

在我的rails模型中,一个项目有很多任务,一个任务属于一个项目。标准的东西。

尝试在集合中获取项目的任务 json。

ExampleApp.Collections.Tasks = Backbone.Collection.extend({
  url: '/projects/<dynamic_id>/tasks',
  model: ExampleApp.Models.Task
});

到目前为止,我看到的每个示例都将 url 引用为/tasks。Id 喜欢将项目 ID 传递给集合以获取该项目任务。

我检查了骨干关系,但不确定最好的解决方案是什么。

干杯

我强烈建议使用Backbone-Relations,而不是自己破解关系。从个人经验来看使用骨干关系的原因:

  • 创建向前和向后关系,以便您可以获取与项目或任务所属的项目相关的所有任务
  • 易于序列化,并自动脱落。也就是说,你给它一个JSON,它就会构建出所有的模型及其关系。非常方便。
  • 您的模型保持独立定义,可以使用标准主干内容进行保存/获取,而无需任何额外的工作。
  • 它还可以与各种骨干扩展(如木偶和ioBind/ioSync)很好地配合使用。

一种方法是将 url 定义为一个函数,并在 fetch() 之前设置project_id

ExampleApp.Collections.Tasks = Backbone.Collection.extend({
    model: ExampleApp.Models.Task
    url: function() {
        return 'projects/'+this.project_id+'/tasks';
    },
    setProjectId(project_id) {
        this.project_id = project_id;
        this.fetch();
    }
});

相关内容

  • 没有找到相关文章

最新更新