使用 Rails API + Ember 的初始数据加载

Initial Data Load with Rails API + Ember

我目前在 Rails 上使用 Ruby 和一个项目的 EmberJS。 Rails 应用程序是一个电子商务商店,最初需要加载约 10 个模型。我正在考虑使用 Gon 在初始页面加载时将模型作为 json 传递。

我正在考虑使用 ember cli 来制作一个项目,当然,ruby 在 rails 上制作 API。

如果我将应用程序分开,如何进行初始数据加载?在部署方面,您如何确保一切都在一台 rails 服务器上运行(考虑 Heroku)?

如果您只使用 Rails(没有 Ember CLI),您可以根据 gon's instructions 在应用程序布局中呈现 gon 对象,然后只需从贡全球。这样做的好地方可能是您在 Ember:

的申请途径
// routes/application.js

export default Ember.Route.extend({
  model: function() {
    return gon.myDataSet;
  }
});

但是,我会推荐使用 Ember CLI,如果你这样做,那么你的 rails 应用程序布局(因此 gon)将被排除在外。相反,只需在 rails 应用程序上打开 json 端点,然后您就可以在 Ember 应用程序中获取它:

// routes/application.js

export default Ember.Route.extend({
  model: function() {
    return Ember.$.getJSON('/path/in/rails/app');
  }
});

然后当你在开发时运行你的rails服务器在一个终端,然后运行你的ember服务器(来自CLI目录)代理选项:

$ ember server --proxy http://localhost:3000

至于部署,那是一大堆蠕虫,但请查看 ember-cli-deploy,因为它旨在成为部署 ember 应用程序的一站式商店。