我的申请是为了游泳课程。我需要将游泳运动员添加到课堂上。这种关系在两个方向都有很多。课程可以让很多游泳运动员和游泳运动员可以有很多课程。
从课程路线中,我想从所有游泳运动员的名单中选择一名游泳运动员,然后将游泳运动员的身份证添加到课程的“游泳运动员”阵列中。
我不能让游泳者出现在下拉区域,因为我认为我没有正确加载第二个模型。
我也愿意接受如何将特定游泳运动员添加到特定班级的建议。看到所有可用的游泳选手很重要
我是ember和编程的新手,所以在提出建议时请记住这一点。谢谢!
App.Router.map(function() {
this.resource('lessons', { path: '/lessons' }, function() {
this.resource('lesson', { path: '/:lesson_id' })
this.route('new', { path: '/new' })
});
this.resource('swimmers', { path: '/swimmers' }, function() {
this.resource('swimmer', { path: '/:swimmer_id' })
this.route('new', { path: '/new' })
});
});
App.Lesson = DS.Model.extend({
type: DS.attr(),
name: DS.attr(),
/*level: DS.attr(), sometimes there are hybrid levels, likely leave it up to */
instructor:DS.belongsTo('instructor', {async: true}),
startDate: DS.attr(),
endDate: DS.attr(),
capacity: DS.attr('number'),
swimmers: DS.hasMany('swimmer',{async: true}),
});
App.Swimmer = DS.Model.extend({
nameFirst: DS.attr(),
nameLast: DS.attr(),
level: DS.attr(),
birthdate: DS.attr(),
gender: DS.attr(),
note:DS.attr(),
lessons: DS.hasMany('lesson', {async: true}),
});
App.LessonRoute = Ember.Route.extend({
model: function(params) {
return Ember.RSVP.hash({
lesson: this.store.find('lesson', params.lesson_id),
swimmers: this.store.findAll('swimmer')
})
},
setupController: function(controller, model) {
controller.set('model', model.lesson);
controller.set('swimmer', model.swimmer);
},
});
下拉我正在尝试使用
<div class="form-group">
<label for="lesson_swimmers" class="col-sm-2 control- label">Swimmers</label>
<div class="col-sm-9">
{{view Ember.Select content=swimmers optionLabelPath="content.fullName" class="form-control" id="lesson_swimmers"}}
</div>
</div>
答案 0 :(得分:0)
这个问题有两个答案。适合您的将取决于您提供模型的方式。
如果您通过 transferTo 或 linkTo 抵达,则需要使用与通过网址直接抵达时不同的方法。
@ Kingpin2k回答了这个问题,并提供了示例,