我的Ember CLI应用程序正在使用Ember 1.10.0和Ember Data 1.0.0-beta.15。它也通过ember-cli-rails
gem在Rails应用程序中运行。
我有各种带有hasMany关联的模型,所有关联都标记为async: true
。
在开发中,当需要这些关联时,应用程序会向API发出查询以获取hasMany记录。看看Ember Inspector,该协会是DS.PromiseManyArray。
在生产中,不会触发任何查询,并且该关联是DS.ManyArray。由于我的API为关联对象发送了一组id,因此DS.ManyArray中包含正确的项目数,但id以外的记录属性从不加载。
config/environment.js
中我的开发和生产环境设置之间的唯一区别是API端点,并且在开发过程中启用了一些日志记录。所有环境都使用相同的DS.ActiveModelAdapter。
关于为什么会在生产中改变这种行为的任何想法?
答案 0 :(得分:0)
事实证明,此问题是将预编译资产提交给项目存储库的结果。因此,ruby buildpack正在跳过资产编译,导致支持生产实例的旧版资产。
解决方案是从Rails应用程序中删除公共/资产并重新部署到Heroku。