2016-01-07 23 views
0

我創建一個應用程序,並得到以下錯誤:Meteor.JS - 賬戶密碼:類型錯誤:Accounts.createUser不是一個函數

類型錯誤:Accounts.createUser是不是一個函數

這是我的代碼:

Template.register.events({ 
    'submit form': function(event){ 
    event.preventDefault(); 
    var email = $('[name=email]').val(); 
    var password = $('[name=password]').val(); 
     var fname = $('[name=fname]').val(); 
     var lname = $('[name=lname]').val(); 

    Accounts.createUser({ 
     email: email, 
     password: password, 
      profile: { 
      fname: fname, 
      lname: lname, 
      IsActive: 0 
      } 

    }); 
    Router.go('home'); 
    } 
}); 

我使用的是:賬戶密碼包

我也是用的MONGO_URL(MON GO_URL = MongoDB的://本地主機:27017/MYDB)

我曾嘗試:流星重置

也重新被應用:流星創建的myapp

我可以登錄通已經建立的用戶,以前它沒有給出任何問題,我創建了一個用戶,但現在它給了這個問題,我該怎麼做?

+0

向我們顯示您的.meteor/packages文件 –

回答

0

這是我做錯了:

我是用有一個名字爲賬戶的集合,見下圖:

舊代碼

Accounts = new Meteor.Collection('accounts'); 

訂閱:

Meteor.publish('Accounts', function(){ 
return Accounts.find(); 
}); 

以及使用該助手:

Template.account_screen_account_view.helpers({ 

FetchAccountViewData: function() { 
var editid = Router.current().params._id; 
return CustomerAccounts.findOne({_id:editid}); 
} 

}); 

它用下面的代碼相互矛盾的:

Accounts.createUser({ 
    email: email, 
    password: password, 
     profile: { 
     fname: fname, 
     lname: lname, 
     IsActive: 0 
     } 

}); 

NEW CODE(CHANGED)

CustomerAccounts = new Meteor.Collection('customeraccounts'); 

Meteor.publish('CustomerAccounts', function(){ 
return CustomerAccounts.find(); 
}); 


Template.account_screen_account_view.helpers({ 

FetchAccountViewData: function() { 
var editid = Router.current().params._id; 
return CustomerAccounts.findOne({_id:editid}); 
} 

}); 

現在問題已解決。有時我們會忘記查看這些內容,我很高興能夠像使用Meteor Accounts一樣分享我的經驗,然後您需要更改自己的集合和函數的名稱,因爲它們可能會發生衝突並創建這些類型的問題。

0

請確認您的字段名稱是否相同。 如果這些相同試試這個:

funname:function(event,target){ 
    email=target.find(".your field class name or # field id").value; 

}

+0

感謝您的回覆,但現在問題已解決,請檢查我的答案如下 – Manu

相關問題