问题标签 [emberfire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
637 浏览

javascript - Saving an html object to firebase

I'm working in ember.js my project has an image cropping mechanic. This returns to me by default a canvas object and some data necessary to redraw the cropped image.

But when I try to save the canvas object to firebase it saves it as something like [htmlObject Canvas] or something like that, so when I try to get the record and display the canvas it displays that instead of the actual canvas object.

How can I save a canvas object to firebase to use later as an actual canvas.

0 投票
1 回答
351 浏览

ember.js - 如何在 Ember 和 Firebase 中保存多对多关系

假设我们有许多可以开给许多患者的药物。我们的模型看起来像这样:

在这种情况下,我们如何将记录保存到 Firebase 存储?

0 投票
1 回答
403 浏览

firebase - 在 Firebase 服务器端动态计算记录总数,而不是下载整个数据库

我发现这个问题的解决方案只有快照,它下载整个数据库。向 Firebase 服务器发送一个请求来响应记录总数会很棒。下载整个数据库并不是很有效。任何想法?

相关问题。(大多数建议观看value事件,并检查下载记录的大小......效率不高。)

Firebase 获取记录总数的更好方法

Firebase 中的记录总数(我什么时候完成计数?)

Firebase - 计算在线用户

0 投票
1 回答
109 浏览

ember.js - Firebase ember fire 适配器在父子关系的验证规则中失败

Firebase 允许您拥有验证规则,以确保任何给定节点都存在特定的子节点。例如:

上面,如果我们尝试在 /posts/ 创建一个节点而不给它标题、正文或作者,Firebase 将拒绝我们的请求。

但是,EmberFire适配器中的 updateRecord 函数使用单独的 Promise 来保存关系和模型本身。

因此,在上面的示例中,当我们保存新帖子时,EmberFire可能会在写入 /posts//title 和 /posts//body 之前尝试写入 /posts//authors/。在这种情况下,我们的验证规则将失败。

有几个解决方案浮现在脑海

  1. 修补 ember fire 适配器以使用单个请求而不是使用多个请求将所有更新写入节点。

  2. 修补适配器以使用事务,然后我们可以使用验证。

我想知道是否有其他不涉及修补适配器的解决方案

PS - 这也发布在 Firebase 的 github 问题上 - https://github.com/firebase/emberfire/issues/304

0 投票
1 回答
94 浏览

ember.js - 安全 - 异步模型 - Firebase

在似乎将我的头撞到墙上之后似乎是一个简单的问题,我认为最好寻求一些帮助。

我正在创建一个允许用户使用简单登录进行身份验证的 EmberFire 应用程序。一旦通过身份验证,用户就可以存储特定项目以供以后检索。

我有这样定义的模型:

用户:

能力:

这些以非规范化的形式存储在 firebase db 中,就像我希望的那样。

在此处输入图像描述 我的问题出现在检索持久数据时。我不确定我应该如何将能力锁定到特定用户?

FireBase 中规则级联的方式我不确定这种形式是否可能,但我必须将每个能力存储在每个用户节点下的嵌入式表单中似乎是不对的。

我知道我可以只允许使用 this.store.find('competency') 读取所有“能力”模型,然后在客户端上过滤它们,但这不符合我期望的安全性。

任何帮助都会非常感谢。

瑞安

0 投票
1 回答
543 浏览

ember.js - Torii 会话未定义 - 未注入 ember / firebase 应用程序

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

我已经将适配器放入app/torii-adapters/application.js

但是,当我尝试在任何路由或控制器上获取 torii 的会话变量时:

会话未定义:

据我所知,我已经遵循了firebase 文档/示例,所以我不确定我错过了什么。让 torii 将会话变量注入所有路由和控制器是否需要另一个步骤?


我的堆栈中的版本是:

注意:我目前的 firebase 本身运行良好——我的所有模型都是同步的——所以这不太可能是 firebase 设置错误的结果。此外,this.get('session')在我的应用程序的任何路由或控制器中的任何位置返回未定义。

0 投票
1 回答
1537 浏览

ember.js - 为什么我在 hasMany 关系上的 Ember 计算属性没有更新?

我有一个 Ember 数据模型:

我有一个使用它的路由设置:

},

以及利用路由模型的 htmlbars。我的计算属性总是在重新加载时正确调用,但不会在用户操作“添加朋友”时刷新,该操作通过添加朋友和 profile.friends 记录来更改商店,如下所示:

}

一些注意事项:我已经尝试过'friends','friends.[]'的计算属性。我的代码库是 Ember 2.0.1,带有 Ember.Data 1.13.12,因此不推荐使用“friends.@each”。底层数据在后备存储 (EmberFire) 中正确更新。我已经调试到 EmberData,我看到调用了属性更改通知失效代码。这只是代码的选择...

我错过了什么……?有没有更好的方法来解决这个问题?

0 投票
3 回答
580 浏览

ember.js - Ember-CLI 测试:请在适配器上设置 `firebase` 属性

我有一个带有 Ember-CLI 并使用 Firebase 的 Ember.js 应用程序。当我运行 /tests 时,我得到的唯一错误如下:

错误:请firebase在适配器上设置属性。在初始化(http://localhost:4200/assets/vendor.js:99854:15)(...等)

我的 application.js 适配器代码是 emberfire 安装后的标准:

我的 firebase: URL 是在 environment.js 文件中设置的。谁能指出问题可能出在哪里?应用程序本身运行良好。我意识到这是 emberfire 的 init 函数中内置的错误响应,但这对我没有帮助!我敢肯定,对于初学者来说,这一定是小而明显的事情,但我仍在学习曲线上……

提前致谢。

Ember 1.13.7 - Ember 数据 1.13.8 - Firebase 2.3.0 - EmberFire 1.5.0 - jQuery 1.11.3

0 投票
2 回答
2367 浏览

ember.js - 如何使用 emberfire 在 ember.js 2.0.0 中查询名称为 equalTo xyz 的所有项目的 firebase 数据库?

我是 ember.js 和 firebase 的新手。我一直在尝试做一些需要我在数据库中查询与定义值匹配的键的东西。

根据guides.emberjs.com,以下示例应该可以工作:

但事实并非如此。显然是因为我正在使用 emberfire 插件。经过数小时的谷歌搜索,没有明确的解决方案。

emberfire文档讨论了可用的参数。

论据

orderBy -字符串- 属性 ...

.
.

equalTo - String , Number , Null - 创建一个查询,其中包括与指定值匹配的子项。

并举个例子……

虽然没有展示如何使用'equalTo'。我已经测试了所有这些,但我无法理解它们是如何equalTo工作的。

SO上还有其他解决方案,但它们都是v2.0.0之前的。所以我认为他们不会在 v2.0.0 之后工作。

Ember.js 调试信息:

正在使用的数据库:https ://shoutoutdb.firebaseio.com/users

我不完全理解 equalTo 应该如何在这里工作,但我也没有任何线索。希望这里有人愿意提供帮助。

如果您认为该问题需要任何改进,请提出。我已经详细说明了,我认为我应该这样做。
提前致谢。:)

编辑:我尝试使用的代码:

我还围绕此代码尝试了多个不同的版本。没有任何效果,所以我认为这里甚至不值得一提。

0 投票
1 回答
285 浏览

ember.js - Ember/emberfire 运行循环验收测试

所以我的验收测试在我的承诺完成之前不断地自我毁灭。我知道我需要将我的承诺包装在 Ember 运行循环中,但我无法让它工作。这是我的组件的外观:

我已经尝试过 wrapping this.handleSearchQueryChange()this.get('store').query...并且this.set('searchResults', searchResults)在运行循环中,但验收测试仍然不等待 store.query 完成。

需要注意的一点是,此商店查询在实时 Firebase 后端执行请求。

我目前正在使用 Pretender 来模拟数据并解决这个问题。但我也想通过 Ember.run 解决它。有人愿意提供解决方案吗?