0

我正在制作一个 Titanium 移动应用程序。

它与 Rails JSON API 有关系。

我必须为 Rails 模型对象制作一些模型对象。这太烦人了。(寻呼等)

我想知道将 javascript 模型类映射到 Rails 模型类的 javascript 库。(就像backbone.js中的模型)

我搜索了 npm 注册表,但找不到。

4

1 回答 1

1

如果您没有设置 Backbone,您可以查看带有映射插件的Knockout.js。虽然您仍然需要为每个模型创建类,但您不需要完全填充它们。我最近为此经常使用的一种模式:

function SubModel(data, parent){
   var self = this;
   ko.mapping.fromJS(data,{},this);

   //Various computed items and functions to work with this model
}

function Model(data, parent){
   var self = this;
   ko.mapping.fromJS(data,{
      subModel:{
         create: function(options){
            return new SubModel(options.data, self);
         }
      }
   }, this);
   //Various computed items and functions to work with this model
}

然后,您从服务中获取 JSON,执行 anew Model()并将数据传递给它,然后 Knockout 将从 JS 中创建该类的所有各种属性。任何嵌套对象都可以以与映射相同的方式处理SubModel,直至任意深度。

此外,映射插件还包括一个toJS函数,允许您将已创建的模型重新序列化为fromJSJSON。

于 2012-06-11T01:33:21.960 回答