2

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

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

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

据我了解,要使用 Ember.js,我需要在 Javascript 中定义我的模型,从而复制我们已经在服务器端拥有的许多 Mongo 模型。这个对吗?将 Ember.js 与 Ruby 后端结合使用时,如何减少模型中的代码重复?

4

1 回答 1

3

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

模型本身将被复制,因为如果您有 Ember Data 模型,它可以更轻松地使用 Ember。不过,您可以即时构建自己的模型,只需对所有内容进行 api 调用(可能不建议)。您可以通过在model路由的钩子中执行 api 调用来做到这一点。

但是,一旦您设置了 Ember Data 模型,您就可以保持逻辑相当简单,并让服务器处理更复杂的任务。但这在很大程度上取决于应用程序的特定需求。

于 2013-03-01T01:55:08.413 回答