I want to use the userId in the session... to be able to save the users firstname and everything...
I am trying in vein to use models.add("users."+userId) in vein....
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'));
}
That does try to set the firstName twice, but neither work even with the other commented out.... I usually get errors about rolling back.
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>
The error tends to be:
Op error: Operation invalid in projected collection users d0514d00-....
Everyone else seems to be doing it the same way I thought... Also do I always need to check if one exists and only use add if it does?
This is all in derby0.6
It seems that "users" might be a key collection that is reserved or something by user-login. Though I don't see it in the collections on my local database.
Using "cusers" works fine. I used the following:
this.model.add('cusers',{
id: userId,
firstName: this.model.get('_page.firstName'),
lastName: this.model.get('_page.lastName')
// "userId":userId
});
id allows to make the _id property match; however, I don't think this is the right way.