EmberJS错误消息:断言失败:找不到型号名称

时间:2015-07-01 18:52:51

标签: ember.js

我正处于以下中间:Vic Ramon EmberJS tutorial。我达到了尝试列出潜在客户并进行以下设置的程度:

适配器

App.Store = DS.Store.extend()
App.ApplicationAdapter = DS.ActiveModelAdapter.extend()

DS.RESTAdapter.reopen
  namespace: 'api/v1'

控制器

App.LeadsController = Ember.ArrayController.extend
  sortProperties: ['firstName', 'lastName']

模型

App.Lead = DS.Model.extend
  firstName:  DS.attr('string')
  lastName:   DS.attr('string')
  email:      DS.attr('string')
  phone:      DS.attr('string')
  status:     DS.attr('string', defaultValue: 'new')
  notes:      DS.attr('string')


  fullName: (->
    @get('firstName') + ' ' + @get('lastName')
  ).property('firstName', 'lastName')

路线

App.LeadsRoute = Ember.Route.extend

  model: ->
    @store.findAll 'lead'

路由器

App.Router.reopen
  location: 'auto'
  rootURL: '/'

App.Router.map ()->
  @resource 'leads', path: '/'
  @resource 'lead', path: 'leads/:id'

模板

<article>
    <h1>Leads</h1>
    <ul>
      {{#each lead in controller}}
        <li>{{#link-to 'lead' lead}}{{/link-to}}</li>
          {{lead.fullName}}
      {{/each}}
    </ul>
</article>

问题就在于,当我将浏览器重定向到http://localhost:3000时,它会向我显示fullNames的列表,但不会向我显示锚链接。 Screenshot我在Chrome浏览器控制台中看到的另一件事是:

  

错误消息:断言失败:找不到型号名称

奖金问题

通过阅读一些教程,我理解您可以将mixins作为向控制器或视图中注入其他属性的一种方式。例如,您可以这样做:

Ember.View.extend(App.Editable)

但是你可以将mixin加入模型吗?你可以这样做:

App.Lead = DS.Model.extend(App.SomeMixin)

1 个答案:

答案 0 :(得分:0)

这是为Ember 1.12工作的jsbin jsbin.com/mezakepemu/1/edit?html,js,console 1)链接。你可以试试

<li>
  {{#link-to 'lead' lead}}
    {{lead.fullName}}
  {{/link-to}}
</li>

<li>{{link-to lead.fullName 'lead' lead}}</li>

在现代Ember版本中,编写

更好
{{#each lead in model}} ... {{/each}}

{{#each model as |lead|}} ... {{/each}}

2)错误消息:断言失败:无法找到型号名称 - 请显示抛出此错误的代码。您的潜在客户路线,控制器和模板看似正常。

3)是的,mixins可以包含在模型和每个Ember.Object中。