1

在使用 firebase 的 ember cli 项目中,我已经安装(使用ember install)emberfire 和 torii。config/environment.js我在我的 firebase 应用程序 url 之后将以下配置放在了我的右边:

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 文档/示例,所以我不确定我错过了什么。让 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 本身运行良好——我的所有模型都是同步的——所以这不太可能是 firebase 设置错误的结果。此外,this.get('session')在我的应用程序的任何路由或控制器中的任何位置返回未定义。

4

1 回答 1

1

事实证明,某种缓存阻止了配置文件的获取。重新启动我的 ember 服务器后,会话已正确注入应用程序。

于 2015-08-29T21:22:14.447 回答