0

私は次の見解を持っています:

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標準テンプレートにあるフォームのように、フォームの値に簡単にアクセスできないようです。ビュー内からこれらの値にアクセスするにはどうすればよいですか?

4

1 に答える 1

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"
于 2013-07-19T19:34:36.443 に答える