2014-03-26 19 views
0

我已經安裝了以下智能軟件包更新Meteor.users.update:不能與不安全的包裝,並在自動發佈

standard-app-packages 
autopublish 
insecure 
preserve-inputs 
bootstrap-3 
accounts-base 
accounts-password 
jquery 
accounts-ui-bootstrap-3 
iron-router 

我試圖更新的電子郵件地址用戶,因爲我得趕緊安裝了不安全和自動發佈的包,我想我可能只是是這樣做的:

Template.settings.events({ 
    'click #update': function (evt, tmpl) { 
    evt.preventDefault(); 

    var email = tmpl.find("#inputEmail").value; 

    Meteor.users.update({_id:Meteor.userId()}, {$set:{"emails":[{address:email}]}}); 
    } 
}); 

但我不斷收到:更新失敗:拒絕訪問

回答

0

Mabye出文檔的這一評論可以幫助你。

默認情況下,用戶可以使用Accounts.createUser指定他們自己的配置文件字段,並使用Meteor.users.update對其進行修改。要允許用戶編輯其他字段,請使用Meteor.users.allow。禁止用戶對其用戶文檔進行任何修改

您嘗試更改電子郵件字段。起初,電子郵件字段應該是(如果你想公開電子郵件)在個人資料文件夾中。所以你必須做類似

$set: { 
     profile: { 
      emails: { 

      } 
     } 
    } 

如果你改變配置文件以外的另一個字段,你必須定義允許規則。