Ember数据未发送到服务器

时间:2017-01-30 08:39:28

标签: ember.js ember-data

我有以下代码:

应用程序/模型/ account.js:

import DS from 'ember-data';

export default DS.Model.extend({
  username: DS.attr('string'),
  birthdate: DS.attr('date'),
  gender: DS.attr('boolean'),
  emailaddresses: DS.attr()
});

和app / components / account-profile.js:

import Ember from 'ember';

export default Ember.Component.extend({
  buttonLabel: 'Send to Server',
  actions: {
    buttonClicked(param) {
      this.sendAction('action', param);
    }
  }
});

和app / templates / components / account-profile.hbs

<div class="box">
  <div class="title">Your Profile</div>
  <div>Username: {{account.accountprofile.username}}</div>
  <div>Email Address: {{account.accountprofile.emailaddresses.0.emailaddress}}</div>
  <div>Birthdate: {{account.accountprofile.birthdate}}</div>
  <div>Gender: {{account.accountprofile.gender}}</div>
</div>
<div>
  <div>
    <label>Username</label>
    <div>
      {{input type="text" value=account.accountprofile.username }}
    </div>
    <label>Username</label>
    <div>
      {{input type="text" value=account.accountprofile.emailaddresses.0.emailaddress }}
    </div>
    <label>Username</label>
    <div>
      {{input type="text" value=account.accountprofile.birthdate }}
    </div>
    <label>Username</label>
    <div>
      {{input type="text" value=account.accountprofile.gender }}
    </div>
    <div>
      <div>
        <button type="submit" {{action 'buttonClicked' account}}>{{buttonLabel}}</button>
      </div>
    </div>
  </div>
</div>

我没有看到从我的网络浏览器向我的服务器发送任何流量。

我的代码遗漏了什么,有什么问题?我还需要做些什么?

2 个答案:

答案 0 :(得分:1)

在ember指南中参考Persisting Records

  

Ember数据中的记录基于每个实例持久存在。呼叫   在任何DS.Model实例上保存(),它将发出网络请求。

您需要从记录save中调用account.accountprofile方法this.get('account.accountprofile').save()

答案 1 :(得分:-1)

sendAction不会向服务器发送内容。

请参阅https://guides.emberjs.com/v1.10.0/components/sending-actions-from-components-to-your-application/

因此,请尝试使用param.save()来保存模型。