我正在尝试通过将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而不是显示内容
答案 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之前让它在本地工作。