2

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

实际上是做什么的paramRoot

4

1 回答 1

12

Backbone-rails 没有记录paramRoot. 我想您应该使用生成器来构建模型

class <%= model_namespace %> extends Backbone.Model
  paramRoot: '<%= singular_table_name %>'
  #...

盲目地按照你说的去做。

如果您想知道它的作用,那么您必须阅读源代码(像往常一样)。Backbone-rails 中唯一使用paramRoot的是标准的替代品Backbone.sync;他们的替代品包含以下内容:

if(model.paramRoot) {
  data[model.paramRoot] = model.toJSON();
} else {
  data = model.toJSON();
}

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

于 2012-11-12T20:16:25.710 回答