Backbone.js:什么是paramRoot:backbone.model中的属性?

Jee*_*wes 2 ruby-on-rails backbone.js backbone-rails

我使用rails-backbone gem,我生成了一个Backbone模型.该模型包括paramRoot:属性.我假设它以某种方式告诉Backbone如何连接到相应的Rails模型,但我找不到任何关于它的文档.

什么是paramRoot真正做到?

mu *_*ort 12

Backbone-rails不会记录paramRoot.我想你应该使用生成器来构建你的模型:

class <%= model_namespace %> extends Backbone.Model
  paramRoot: '<%= singular_table_name %>'
  #...
Run Code Online (Sandbox Code Playgroud)

你被告知盲目地做.

如果你想知道它的作用,你必须阅读源(像往常一样).Backbone-rails中唯一使用的paramRoot是它们替代标准Backbone.sync; 他们更换包含:

if(model.paramRoot) {
  data[model.paramRoot] = model.toJSON();
} else {
  data = model.toJSON();
}
Run Code Online (Sandbox Code Playgroud)

所有这一切都是将模型的序列化属性从标准的{attr1: v1, attr2: v2, ...}Backbone形式更改为{ model_name: { attr1: v1, ... } }Rails想要的形式; 然后你可以params[:model_name]在你的Rails控制器中查看,而不是只看params.