2014-01-18 34 views
1

我有一個用戶設置,形成像這樣:灰燼 - 在表單字段顯示模型值

<script type="text/x-handlebars" data-template-name="settings"> 
<form class="form-horizontal user-form" {{action "update" on="submit"}}>   
    <div> 
     <label>First Name</label> 
     {{input type="text" value=firstName placeholder="First Name"}} 
     {{error.firstName}} 
    </div> 

    <div> 
     <label>Last Name</label> 
     {{input type="text" value=lastName placeholder="Last Name"}} 
     {{error.lastName}} 
    </div> 

    <div> 
     <label>Email Address *</label> 
     {{input type="text" value=email placeholder="Email Address"}} 
     {{error.email}} 
    </div> 
</form> 
</script> 

在我這個頁面的路線,我定義模型:

App.SettingsRoute = Ember.Route.extend({ 
    model: function() {  
     return this.store.find('user', 1); 
    } 
}); 

如果事情離開像這樣,表單會自動填充從模型中檢索的值。但是,如果我添加控制器:

App.SettingsController = Ember.Controller.extend({ 
    actions: { 
     update: function() { 
       // Do something 
     } 
    } 
}); 

......他們不會。那麼,如何將我的模型與此控制器配合使用來設置屬性?

回答

2

您定義控制器的方式與常規的Ember.Controller不同,而不是Ember.ObjectController,因此控制器不代理模型。如果你修改它是這樣的:

App.SettingsController = Ember.ObjectController.extend({ 
    actions: { 
     update: function() { 
       // Do something 
     } 
    } 
}); 

然後,它仍然應該自動填充模型中的值。