首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember对象未使用ember- linkTo设置模型

Ember对象未使用ember- linkTo设置模型
EN

Stack Overflow用户
提问于 2013-06-02 13:09:45
回答 2查看 267关注 0票数 0

我有一个来自我的控制器的对象数组。我可以显示属性,但未设置linkTo对象

我也在使用ember model而不是ember data

代码语言:javascript
复制
Msmapp.ClassroomsRoute = Ember.Route.extend({
  model: function() {
    return Msmapp.Classroom.findAll(); //Ember.Model
  }
});


Msmapp.Classroom = Msmapp.Model.extend({
  classroom_id: Ember.attr('number'),
  classroom_name: Ember.attr('string'),
  teacher_id: Ember.attr('number'),
  grade: Ember.attr('number'),
  students: Ember.attr('string'),
  assignments: Ember.attr('string'),

  classroomStudents: function () {
    var studentObjects = []
    this.get('students').forEach(function(student) {
      studentObjects.push(Msmapp.Student.create(student));
    });
    return studentObjects;
  }.property('students')

});

Msmapp.Classroom.reopenClass({
  collectionKey: "classrooms",
  url: '/classrooms'
});


{{#each classroom in controller }}
  <li class="item">
    {{#linkTo 'classroom' classroom }}{{ classroom.classroom_name }}{{/linkTo}}
  </li>
{{/each}}

classroom.classroom_name工作得很好。我甚至将其更改为计算属性。

但是链接并没有设置模型。这是一条嵌套的路由。

我正在获取/教室/未定义

奇怪的是,当我单击链接时,它会填充课堂模型和视图。

我的路线

代码语言:javascript
复制
this.resource('classrooms', function() {
    this.resource('classroom', {path: ':classroom_id'}, function() {
        this.route('new_student');
    });
    this.route('new');
});

注意:如果我将:classroom_id更改为just :id,我会得到如下所示的结果

代码语言:javascript
复制
/classrooms/<Msmapp.Classroom:ember403>

我刚刚从ember-data切换到了ember-model,所以我确信我忽略了一些微不足道的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-02 16:11:09

您的课堂模型的主键是什么?它看起来像是classroom_id而不是id

Ember.Model假设主键为id,它当前使用教室模型的id属性生成URL,该属性实际上是undefined,因为您的实际id是classroom_id

您需要将数据更改为使用id作为主键(建议),或者自定义Ember-Model以使用不同的主键。

票数 1
EN

Stack Overflow用户

发布于 2013-08-16 17:22:53

<Msmapp.Classroom:ember403>是模型方法toString()的结果。我也有同样的问题,看起来像是linkTo没有查看路由参数名称。所以我的解决方案是

代码语言:javascript
复制
{{#linkTo 'classroom' classroom.classroom_id }}...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16879972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档