コントローラーからのオブジェクトの配列があります。プロパティは表示できますが、linkTo オブジェクトが設定されていません
私はまた、ember-dataではなくember-modelを使用しています
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 は問題なく動作します。私はそれを計算されたプロパティに変更しました。
しかし、リンクはモデルを設定していません。ネストされたルートです。
私は /classrooms/undefined を取得しています
奇妙なことに、リンクをクリックすると、教室のモデルとビューが表示されます。
私のルート
this.resource('classrooms', function() {
this.resource('classroom', {path: ':classroom_id'}, function() {
this.route('new_student');
});
this.route('new');
});
注: :classroom_id を :id だけに変更すると、次のようなものが返されます
/classrooms/<Msmapp.Classroom:ember403>
私はちょうど ember-data から ember-model に切り替えたので、見落としている些細なことだと確信しています。