【问题标题】:Model#typeKey undefined when using Ember Data 1.0 Beta使用 Ember Data 1.0 Beta 时模型#typeKey 未定义
【发布时间】:2014-01-18 10:59:57
【问题描述】:

我正在尝试将我的 Ember.js 应用程序更新到 Ember Data 1.0 Beta。我所拥有的是使用 Ember Data 0.14。在新版本中,我需要为模型手动设置 typeKey,以便 REST 请求具有正确的路径。

我有简单的模型:

App.Product = DS.Model.extend
name: DS.attr('string')

在 Ember Data 1.0 Beta 中,我需要添加它才能使其工作:

App.Product.typeKey = '产品'

否则buildURL 方法总是通过undefined [buildURL(type.typeKey, …)]。

【问题讨论】:

  • 您是如何获取记录的,Ember Data 的版本是什么?
  • 即使在金丝雀版本上我也看不到它,emberjs.jsbin.com/OxIDiVU/148/edit
  • @kingpin2k 我尝试使用 Ember Data 1.0 Beta 4 和 Beta 5。我正在使用 RESTAdapter。

标签: ember.js


【解决方案1】:

我昨天遇到了一个与此非常相似的问题。出于某种原因,我能够为我的一个模型获得typeKey,但不能获得其他三个模型。应用程序未完全加载或准备好似乎是某种问题。页面加载后,我能够获得所有四个模型的typeKey 就好了。看看能不能得到同样的结果。我只需要重新排列我的一些代码以使其正常工作。希望你也能做到。

【讨论】:

    【解决方案2】:

    问题是由于在 store finder 方法中使用模型类而不是其字符串名称引起的:

    应该是@store.find('product') 而不是@store.find(App.Product)。

    【讨论】:

      【解决方案3】:

      还有一点需要注意的是DS.Store 实现了modelFor() 方法,您可以使用该方法根据给定的字符串键获取Model 类。

      例如:store.modelFor('post');

      我认为值得使用该方法,因为它还可以进行其他初始化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多