3

現在使用meteor-collection2していますが、検証システムによってスローされるエラーに問題があります。

「lib」フォルダーで、コレクションを定義し、それに添付SimpleSchemaします。次に、次のように定義しましたMeteor.method

# define methods
Meteor.methods
  # create
  RecipeCommentCreate: (options) ->
    # find recipe
    recipe = Recipes.findOne(options.recipeId)

    if !recipe
      throw new (Meteor.Error)(404, 'Recipe not found')

    # init comment
    comment =
      message: options.message
      recipe:
        _id: recipe._id

    # insert comment
    RecipeComments.insert(comment)

したがって、このコードは、遅延補償を使用するために onclient-sideと onserver-sideの両方で実行されます (collection2 は両側で機能するため、これは完璧です)。

ただし、このメソッドを呼び出すと(クライアント側のイベントのおかげで):

# call method
Meteor.call 'RecipeCommentCreate', options, (error, result) ->
  if error
    # throw error
    Errors.throw error.reason
  else
    # reset form
    form.reset()

errorコールバックではサーバー側によってスローされるエラーのみであるため、これは正しい方法では機能しません。クライアント側で collection2 によってスローされたエラーは、ブラウザー コンソールにログを記録するだけで、コードは停止しません。

[Log] Exception while simulating the effect of invoking 'RecipeCommentCreate'  (meteor.js, line 890)

それで、誰かが私が間違った方法で何をしているのかを理解するのを手伝ってくれるなら...
どうもありがとう、
ヤニス

4

0 に答える 0