如何在heroku上部署ember-cli + rails app

时间:2014-11-30 03:04:18

标签: ember.js deployment ember-cli

我正在尝试通过将ember build生成的文件复制到rails公共文件夹中来部署Ember-cli应用程序,其方法如下所示:

   http://blog.abuiles.com/blog/2014/05/21/deploying-ember-cli-and-rails-to-heroku/

   https://github.com/dockyard/ember-cli-plus-backend/tree/rails-served-html/frontend/app

但它似乎不能正常工作 as shown in the app on heroku ,而不是显示内容,它会在网页上显示原始json,这表明emberjs路线模型挂钩不在通过网址输入应用时调用。它显示的JSON是这样的:

 [{"id":1,"name":"james","presentation_ids":[1,2]},{"id":2,"name":"charle","presentation_ids":[3]}]}

但是,如果我将ember-build生成的 index.html 文件保留在 rails app / public文件夹中,而不是将index.html的内容复制到rails layout / application.html.erb,ember-cli应用程序的application.hbs的内容将正确显示,但如果我直接在浏览器中加载任何路由,它将再次返回原始json而不是显示内容

1 个答案:

答案 0 :(得分:3)

You're routing root requests to speaker#index,这就是您在访问/时获得json回复的原因。

您希望您的rails应用在index.html以外的所有请求中提供/api,例如

get '*path', to: 'index#show'

该操作应该只提供您的Ember CLI项目的静态index.html文件。

我还建议在搞乱Heroku之前让它在本地工作。