2017-01-18 9 views
1

Meteor.Callとメソッドに問題があります。メソッド 'addNewDriveToSadranTable'を呼び出す際のエラー:内部サーバーエラー[500]

console.log('test')をメソッドコードに入れました。コンソールにそれが表示され、1ミリ秒間コレクション内に新しい文書が表示されます(消えています)。

バグは何ですか?

クライアント/ sidurEditor.js

Template.sidurEditor.helpers({ 
    showForSadran: function() { 
     return ForSadranDrives.find({},{sort: {askedDate: 1, since: 1}}); 
    } 

のlib/methods.js

Meteor.methods ({ 
addNewDriveToSadranTable: function (askedDate, since, until, askedDrive, askedUser) { 
    console.log('click'); 
    ForSadranDrives.insert({ 
     askedDate: askedDate, 
     since: since, 
     until: until, 
     askedDrive: askedDrive, 
     driveCar: "chooseCar", 
     driveCarName: "car undefined", 
     driveDriver: "driver undefined", 
     askedUser: askedUser, 
     askedNickName: Session.get('nickName'), 
     onEditDriveRow: false 
    }); 
    console.log('click2'); 
} }); 

コレクション/ collections.js

ForSadranDrives = new Mongo.Collection('forsadrandrives'); 
+0

セssionはサーバー上で使用できないため、これはおそらくエラーです。必要なすべてのデータを引数としてサーバーに送信します。 – MasterAM

+0

@ masterAMどのように必要なすべてのデータを引数としてサーバーに送ることができますか? –

+0

クライアントから 'askNickName'を' askDate'などと同じように引数として送ります。 – MasterAM

答えて

1

バグが、私は内部のセッションを書いたということでしたプロジェクトディレクトリにあることを確認しますメソッド...私はMeteor.call(...)引数としてそれをputtedとそれは素晴らしい実行されます!

コメントを@masterAMのおかげで、答え

ので、それはそのように今見て:

クライアント/ navbar.js

  Meteor.call('addNewDriveToSadranTable',askedDate, since, until, askedDrive, askedUser, Session.get('nickName')); 

のlib/methods.js

Meteor.methods ({ 
addNewDriveToSadranTable: function (askedDate, since, until, askedDrive, askedUser, askedNickName) { 
    console.log('click1'); 
    ForSadranDrives.insert({ 
     askedDate: askedDate, 
     since: since, 
     until: until, 
     askedDrive: askedDrive, 
     driveCar: "chooseCar", 
     driveCarName: "אין רכב מוגדר", 
     driveDriver: "אין נהג מוגדר", 
     askedUser: askedUser, 
     askedNickName: askedNickName, 
     onEditDriveRow: false 
    }); 
    console.log('click2'); 
}}); 
0

あなたが見ているのはMeteorのレイテンシ補正です。レコードはローカルdb(ミニゴン)に挿入されますが、サーバーからのデータベースリフレッシュが発生すると消えます。データへの登録が不足しているか、フィルタがデータを除外している可能性があります。

あなたがコマンドを使用して、モンゴシェル内のレコードを探すことにより確認することができます

meteor mongo 

あなたのCDが

+0

Meteor.isServerとMeteor.isClientの外側にメソッドを置くと、何をすべきか分かりません 何を追加すればよいですか?あなたが書いたフィルタはどこにあるはずですか? –

関連する問題