【问题标题】:How to define hasMany relationships with Ember CLI 0.0.39+如何使用 Ember CLI 0.0.39+ 定义 hasMany 关系
【发布时间】:2014-09-27 02:35:48
【问题描述】:

我有两个模型:SurveySurveyQuestion

Survey 有很多 SurveyQuestions。通常,您会这样定义您的关系(我使用的是 CoffeeScript BTW):

`import DS from 'ember-data'`

Survey = DS.Model.extend
  name: DS.attr 'string'
  survey_questions: DS.hasMany 'survey_question', { async: true }

但是,由于使用 Ember CLI 0.0.39(现在是 0.0.40),我得到了错误。

No model was found for 'survey_question' Error: No model was found for 'survey_question'

为了摆脱错误,我不得不这样做:

`import DS from 'ember-data'`
`import SurveyQuestion from './survey_question'`

 Survey = DS.Model.extend
   name: DS.attr 'string'
   survey_questions: DS.hasMany SurveyQuestion, { async: true }

这种方法的问题是hasMany 不知道SurveyQuestiontype.typeKey,因为它不是字符串。 type.typeKey 在 ember-data 的 findMany 中是 null

我怎样才能让它在 Ember CLI 中正常工作,我需要执行 import 以解决我的依赖关系?

【问题讨论】:

  • 我认为问题与元素名称中的下划线有关。我改为尝试survey-question,这似乎与DS.ActiveModelAdapter 一起正常工作。模型可以没有下划线吗?

标签: ember.js coffeescript ember-data ember-cli


【解决方案1】:

问题在于名称中的下划线。应该是survey-question.coffee。一旦我更改了它,它就可以在hasMany 中用作字符串。

`import DS from 'ember-data'`

Survey = DS.Model.extend
  name: DS.attr 'string'
  survey_questions: DS.hasMany 'survey-question', { async: true }

由于我使用的是DS.ActiveModelAdapter,因此它会查询正确的 URL:/survey_questions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-14
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    相关资源
    最近更新 更多