2013-07-19 50 views
0

我有以下看法:獲取表單值在視圖中ember.js

Whistlr.RegistrationView = Ember.View.extend 
    templateName: "users/registration_form" 

    submit: (event, view) -> 
    event.preventDefault() 
    event.stopPropagation() 
    $.ajax 
     url: '/users' 
     type: "POST" 
     data: 
     "user[username]": @.get 'username' 
     "user[email]": @.get 'email' 
     "user[password]": @.get 'password' 
     "user[password_confirmation]": @.get 'password_confirmation' 
     success: (data) -> 
     alert "Success!" 
     error: (jqXHR, textStatus, errorThrown) -> 
     alert jqXHR.responseText 

有了這個模板:

form 
    label Username 
    = input value=username type="text" 
    label Email 
    = input value=email type="text" 
    label Password 
    = input value=password type="password" 
    label Password Confirmtation 
    = input value=password_confirmation type="password" 

    = input type='checkbox' checked=view.remember 
    label Remember me 

    = input type="submit" class="btn" 

不幸的是,表單值沒有得到必然的觀點,所以數據正在以空白字段數組的形式發送。看起來我無法像使用標準模板中的窗體一樣使用簡單的@.get來訪問表單值。我如何從視圖中訪問這些值?

回答

2

看起來問題出在我的模板中。我需要在每個屬性的值字段中指定它綁定到視圖。修改後的模板如下所示:

form 
    label Username 
    = input value=view.username type="text" 
    label Email 
    = input value=view.email type="text" 
    label Password 
    = input value=view.password type="password" 
    label Password Confirmtation 
    = input value=view.password_confirmation type="password" 

    = input type='checkbox' checked=view.remember 
    label Remember me 

    = input type="submit" class="btn"