我有一個擁有大量用戶的應用程序應用程序。這些用戶中的每一個都可以與多個主題相關聯。所以我有一個主題模式:使用Ember.js中的模型數據填充複選框值
App.Subjects = DS.Model.extend({
subject : DS.attr('string'),
});
App.Subject.FIXTURES = [{
id: 1,
name: 'Sales',
}, {
id: 2,
name: 'Marketing',
}
];
和用戶模式:
App.User = DS.Model.extend({
name : DS.attr(),
email : DS.attr(),
subjects : DS.hasMany('subject'),
});
App.User.FIXTURES = [{
id: 1,
name: 'Jane Smith',
email: '[email protected]',
subjects: ["1", "2"]
}, {
id: 2,
name: 'John Dorian',
email: '[email protected]',
subjects: ["1", "2"]
}
];
我有表示此1麻煩:在我的模板中號的關係。我有一個編輯用戶模板(Im也用於創建用戶),您可以在其中通過複選框選擇用戶的主題。但是,我希望這些複選框由我的subjects
模型中的數據驅動。這可能嗎?我在網上發現了很少的文檔,並且對於開發而言是非常新的。這裏是我的模板:
<script type = "text/x-handlebars" id = "user/edit">
<div class="input-group">
<div class="user-edit">
<h5>User name</h5>
{{input value=name}}
<h5>User email</h5>
{{input value=email}}
<h5>Subjects</h5>
{{input type="checkbox" value = "sales" name="sales" checked=sales}}
{{input type="checkbox" value = "support" name="support" checked=support}}
</div>
<button {{action "save"}}> Save </button>
</div>
</script>
編輯:這是我目前的userController.js
App.UserController = Ember.ObjectController.extend({
deleteMode: false,
actions: {
delete: function(){
this.toggleProperty('deleteMode');
},
cancelDelete: function(){
this.set('deleteMode', false);
},
confirmDelete: function(){
// this tells Ember-Data to delete the current user
this.get('model').deleteRecord();
this.get('model').save();
// and then go to the users route
this.transitionToRoute('users');
// set deleteMode back to false
this.set('deleteMode', false);
},
// the edit method remains the same
edit: function(){
this.transitionToRoute('user.edit');
}
}
});
我認爲這可以幫助http://stackoverflow.com/questions/19618602/ember-js-hasmany-as-list-of-checkboxes –
非常感謝,看起來很理想 - 你可以看看我的編輯?只是想知道如何根據我已有的控制器代碼進行調整。 – bookthief
這是我的jsfiddle.net/bookthief/8EjRk/4/ – bookthief