2016-12-07 8 views
0

私はMetroプロジェクトでflowrouterを使用しています。私は、自動フォーム更新でそれを使用する方法を理解しようとしています。つまり、エンティティを更新するフォームを作成しようとしています。これは、何らかの形でオブジェクトをテンプレートに渡す必要があることを意味しますが、私は正確にはわかりません。autoform docsによれば、このようなことをすべきです。Meteorでflowrouterで自動フォーム更新フォームを使用するにはどうすればよいですか?

<template name="updateBookForm"> 
    {{> quickForm collection="Books" doc=this id="updateBookForm" type="update"}} 
</template> 

しかし、この例は鉄のルータに関係しています。自動フォーム更新をフロールータと連携させるために必要な追加コードは何ですか?

更新...

私は、次の

Template.UpdateItem.helpers({ 
    item: function() { 
     var theItem = Items.findOne({_id: FlowRouter.current().params.itemId}); 
     console.log("the item:"+JSON.stringify(theItem)); 
     return theItem 
    } 
}); 

と私のテンプレートで

   {{#with item}} 
       <div> 
        {{> autoForm collection="Items" id="updateItemForm" doc=item class= "new-item-form" type="update"}} 
       </div> 
      {{/with}} 

を試してみましたが、私はまだそれがdoesnの... mothing

答えて

0

を取得しています「これ」が何であるか知っていない。あなたのdbからのJSONの塊である必要があります。一般的に、私はこのようなautoformsラップ:

{{#with getDocument}} 
    {{> quickForm collection="Books" doc=this id="updateBookForm" type="update"}} 
{{/with}} 

を...とJSで対応するヘルパー定義:私は、フロー・ルータを使用しています

getDocument() { 
    return Books.findOne({isbn: '978-3-16-148410-0'}); 
} 

を、これは鉄ルータ固有のものではありません使用事例。

+0

ああ、私は鉄のルータがヘルパー機能なしで箱から出てくると思う。 – user379468

+0

はそのアプローチを試みたが、私はまだ何も得ていない...上記の編集を参照してください。 – user379468

+0

"doc = item"の代わりに "doc = this"を試してみます。それはまた、あなたが "食事"を見つけることをしているのに、あなたがコレクション= "アイテム"を持っていることが少し奇妙に見えます。おそらく大丈夫ですが、奇妙に見えます。 – zim

関連する問題