Emberjs + data + rails - 未捕获TypeError:无法调用未定义的方法“map” [英] Emberjs + data + rails - Uncaught TypeError: Cannot call method 'map' of undefined

查看:92
本文介绍了Emberjs + data + rails - 未捕获TypeError:无法调用未定义的方法“map”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我正在尝试使用emberjs + ember数据从rails db加载数据时,我收到这个错误

When I am trying to load data from rails db with emberjs + ember data I am getting this error


未捕获TypeError:无法调用未定义的方法'map'

Uncaught TypeError: Cannot call method 'map' of undefined

这是咖啡版代码:

window.Cosmetics = Ember.Application.create

Cosmetics.store = DS.Store.create
  revision: 4
  adapter: DS.RESTAdapter.create 
    bulkCommit: false

Cosmetics.admin_user = DS.Model.extend({
  name: DS.attr('string')
  email: DS.attr('string')
});

Cosmetics.view = Ember.View.extend
  templateName: 'ember/views/aaa'

Cosmetics.admin_user.reopenClass
  url: 'admin/user'

Cosmetics.store.findAll(Cosmetics.admin_user)

控制器获取正确的JSON数据。我已经尝试映射从互联网上发现的例子中的代码,但没有任何帮助。有任何想法吗?我想我在做错了感谢您的任何帮助。

Controller gets proper JSON data. I've tried mapping the code from the examples found over the internet but nothing helped. Any ideas? I guess I'm doing sth wrong. Thanks in advance for any help.

推荐答案

发现问题,不确定解决方案。

Found the problem, not sure about the solution.

如果您的资源正在命名空间下,例如

If your resource is being served under a namespace, eg

App.Event = DS.Model.extend({
  name: DS.attr('string'),
});

App.Event.reopenClass({
  url: 'api/event'
})

当ember数据解析json响应时,它在 findAll c $ c> json [复数] / code>应该是 json ['events'] ,但是复数被计算为 json ['api / events'] ,因此出错。

When ember-data parses the json response, it does something like json[plural] in findAll which should be json['events'], however the plural is calculated to be json['api/events'], and hence the error. I'll ask around and probably raise a ticket for this.

更新

我已经为此此处创建了一张机票。

I've created a ticket for this here

解决方法

作为一个黑客,我这样做:

As a hack, I'm doing this:

def index
  respond_to do |format|
    format.json { render json: { 'api/events': Event.all } }
  end
end

这篇关于Emberjs + data + rails - 未捕获TypeError:无法调用未定义的方法“map”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆