0

セッションでuserIdを使用したい...ユーザーのファーストネームとすべてを保存できるようにする...

私は静脈で models.add("users."+userId) を使用しようとしています....

app.proto.editUser = function(){
  var userId = this.model.get('_page.userId');
  //I get d0514d00-da58-3074-b013-e075a772740c
  console.log(userId);
  this.model.add('users.'+userId,{
    'firstName':this.model.get('_page.firstName'),
    'lastName':this.model.get('_page.lastName')
  });
var user = this.model.at('users.'+userId);
this.model.set('users.'+userId+'.firstName', this.model.get('_page.firstName'));
}

それはfirstNameを2回設定しようとしますが、どちらもコメントアウトされていても機能しません....通常、ロールバックに関するエラーが発生します。

HTML:

<index:>
  <h2>Account Information</h2><br/>
  User Id: {{_page.userId}}<br/>
  First Name: {{_page.firstName}}<br/>
  Last Name: {{_page.lastName}}<br/>
  <br/>
  <form class="form-horizontal" on-submit="editUser()">
    <div class="row">
      <div class="col-lg-6 col-sm-12">
        <div class="form-group">
          <label for="inputFirstName" class="col-sm-3 control-label">First Name</label>
          <div class="col-sm-9">
            <input type="text" value="{{_page.firstName}}" class="form-control" id="inputFirstName" placeholder="First Name">
          </div>
        </div>
      </div>
      <div class="col-lg-6 col-sm-12">
        <div class="form-group">
          <label for="inputLastName" class="col-sm-3 control-label">Last Name</label>
          <div class="col-sm-9">
            <input type="text" value="{{_page.lastName}}" class="form-control" id="inputLastName" placeholder="Last Name">
          </div>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="col-lg-6 col-sm-12">
        <div class="form-group">
          <label for="inputGender" class="col-sm-3 control-label">Gender</label>
          <div class="col-sm-9">
            <select class="form-control" id="inputGender" name="gender">
                <option value="none">None</option>
                <option value="male">Male</option>
                <option value="female">Female</option>
            </select>
          </div>
        </div>
      </div>
      <div class="col-lg-6 col-sm-12">
        <div class="form-group">
          <label for="inputAge" class="col-sm-3 control-label">Age</label>
          <div class="col-sm-9">
            <input type="number" class="form-control" id="inputAge" placeholder="Age">
          </div>
        </div>
      </div>
    </div>
    <br/>
    <div class="row">
      <div class="col-sm-12">
        <div class="form-group">
            <button type="submit" class="btn btn-success">Update</button>
        </div>
      </div>
    </div>
  </form>

エラーは次の傾向があります。

操作エラー: 投影されたコレクション ユーザー d0514d00-.... で操作が無効です

他の誰もが私が思っていたのと同じようにやっているようです...また、存在するかどうかを常に確認し、存在する場合にのみ add を使用する必要がありますか?

これはすべてderby0.6にあります

4

1 に答える 1

0

「ユーザー」は、ユーザーログインによって予約されているキーコレクションか何かのようです。ローカル データベースのコレクションには表示されませんが。

「cusers」を使用するとうまくいきます。私は以下を使用しました:

this.model.add('cusers',{
    id: userId,
    firstName: this.model.get('_page.firstName'),
    lastName: this.model.get('_page.lastName')
    // "userId":userId
  });

id を使用すると、_id プロパティを一致させることができます。ただし、これが正しい方法だとは思いません。

于 2015-06-02T14:20:15.103 に答える