使用Ember.js时的模型代码重复

时间:2013-02-28 18:39:45

标签: javascript ember.js ember-data

我正在考虑为我的一个Sinatra应用程序切换到Ember.js。我们当前的设置是使用服务器端Handlebars渲染以及用于CRUD操作的RESTful路由和用于推送通知的Websockets。

然而,我主要担心的是模型代码的重复。

  

Ember Data是一个库,用于从持久层(例如JSON API)加载模型,更新这些模型,然后保存更改。它提供了许多您在服务器端ORM(如ActiveRecord)中找到的工具,但它是专为浏览器中JavaScript的独特环境而设计的。

据我所知,要使用Ember.js,我需要在Javascript中定义我的模型,因此复制了许多我们已经拥有服务器端的Mongo模型。它是否正确?在将Ember.js与Ruby后端结合使用时,如何减轻模型中的代码重复?

1 个答案:

答案 0 :(得分:3)

您可能希望在客户端和服务器端之间完成一些任务。

模型本身将被复制,因为如果您有Ember Data模型,它可以更容易地与Ember一起使用。虽然,你可以动态建立自己的模型,只需要api调用一切(可能不建议)。你可以通过在路由的model钩子内进行api调用来实现这一点。

一旦你设置了Ember Data模型,你就可以保持你的逻辑非常简单,让服务器完成更复杂的任务。但这在很大程度上取决于应用的具体需求。