2014-01-18 2 views
1

У меня есть пользовательские настройки формируют следующим образом:Ember - отображение значения модели в поле формы

<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 
     } 
    } 
}); 

Затем оно должно автоматически заполняться значениями из модели.

Смежные вопросы