如何使用Ember CLI 0.0.39+定义hasMany关系

时间:2014-08-04 15:04:36

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

我有两个模型:SurveySurveyQuestion

Survey有很多SurveyQuestion个。通常,你会像这样定义你的关系(我正在使用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不知道type.typeKey的{​​{1}},因为它不是字符串。 ember-data的SurveyQuestion中的type.typeKeyfindMany

如何在Ember CLI中正常使用此功能,我需要null来解决依赖关系?

1 个答案:

答案 0 :(得分: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,因此会查询正确的网址:/survey_questions