在使用firebase的ember cli项目中,我已安装(使用ember install
)emberfire和torii。我在我的firebase app url后面的config/environment.js
中添加了以下配置:
torii = {
sessionServiceName: 'session',
}
我已将适配器放入app/torii-adapters/application.js
:
import Ember from 'ember';
import ToriiFirebaseAdapter from 'emberfire/torii-adapters/firebase';
export default ToriiFirebaseAdapter.extend({
firebase: Ember.inject.service()
});
但是,当我尝试在任何路由或控制器上获取torii的会话变量时:
this.get("session").fetch().catch(function() {});
会话未定义:
Error while processing route: app Cannot read property 'fetch' of undefined TypeError: Cannot read property 'fetch' of undefined
我尽我所知遵循firebase docs/examples,所以我不确定我错过了什么。是否需要使用torii将会话变量注入所有路由和控制器?
我的堆栈中的版本是:
Ember-CLI: 1.13.7
Firebase (package.json): 2.2.9
EmberFire (package.json): 1.5.0
Torii (package.json): 0.5.1
注意:我目前的firebase本身运行良好 - 我的所有模型都处于同步状态 - 因此不太可能是火灾基础设置错误的结果。此外,this.get('session')
在我的应用程序中的任何路径或控制器中的任何位置返回undefined。
答案 0 :(得分:1)
原来某种缓存阻止了配置文件的来源。重新启动我的ember服务器后,会话被正确地注入到应用程序中。