gpt4 book ai didi

javascript - Ember-Rails "Cannot read property ' extend' of undefined"

转载 作者:行者123 更新时间:2023-11-30 17:26:05 25 4
gpt4 key购买 nike

我正在使用 Ember-Rails 构建一个带有 Rails API 作为后端的 Ember 前端应用程序。我一直致力于实现身份验证,但遇到以下错误:尝试按如下方式扩展路由时无法读取未定义的属性“扩展”:

App.AdminRoute = App.AuthenticateRoute.extend({
model: function(params) {
return this.store.find('user', params.id);
},
});

我有一个 AuthenticateRoute 定义如下:

App.AuthenticateRoute = Ember.Route.extend({
//yada yada
});

我或多或少遵循了以下指南:http://www.embercasts.com/episodes/client-side-authentication-part-2

我不确定为什么这不起作用,但我注意到我的 AuthenticateRoute 可以从其他路由扩展,我觉得这非常奇怪。

最佳答案

事实证明,正如我们大多数人所知,Ember-Rails 预编译了所有这些文件,而您却看不到它(我认为使用的是 Barber gem)。我没有想到的是,当它合并所有这些文件时,它(据我所知)将它们按字母顺序排列。因此,甚至在声明 AuthenticateRoute 之前,我的 AdminRoute 就被声明为扩展 AuthenticateRoute,从而产生错误。我还不确定如何解决这个问题--

  • 一个天真的修复是简单地将文件名从 admin_route.js 更改为 zadmin_route.js,因此它位于 authenticate_route.js 之后,尽管出于显而易见的原因,这是不可取的。
  • 或者,也可以通过关闭标志来关闭 Ember-Rails 中的预编译。 (参见 this)

如果有人有更好的选择,请在下面评论,否则我会在遇到解决方案时更新。

关于javascript - Ember-Rails "Cannot read property ' extend' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com