为Rails控制器消耗嵌套Backbone关系参数

时间:2012-05-09 12:59:29

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

通常当我使用backbone.js时,我会按照Rails期望的方式将这种补丁应用于嵌套模型属性:

Backbone.Model.prototype.toJSON = function() { 
  var hashWithRoot = {}; 
  hashWithRoot[this.modelName] = this.attributes; 
  return _.clone(hashWithRoot);
};


App.Models.Card = Backbone.Model.extend({
  modelName:  'card'
});

但是,在我目前的项目中,我使用的是Backbone Relational,这很棒,但它有自己的toJSON覆盖。结果是我在控制台中得到一个循环引用异常:

  

未捕获的TypeError:将循环结构转换为JSON

有没有人设法使用Backbone Relational成功为PUT / POST生成嵌套JSON到Rails后端?

编辑2:

我创建了一个jsfiddle,显示了有问题的集合和模型 - 并包含了一些json来引导应用程序。出于某种原因(也许是因为我很饿)我无法让fiddle工作。

希望能更好地了解我正在尝试做什么。我要吃饭然后试着修理小提琴...

干杯, 斯图

1 个答案:

答案 0 :(得分:1)

写一个不回答的答案是不是很粗鲁?因为我不能写评论......

您需要向我们提供更多信息。我没有使用Backbone Relational,但我创建了一个fiddle来设法序列化一个HasMany关系的模型。有一些无关且不正确的属性,但没有circular structure错误。

您使用什么关系?你可以制作一个与你的应用程序结构更相似的小提琴吗?