2017-01-06 5 views
0

フォームが正常に検証されたら、ユーザーを特定のページにリダイレクトして値を表示したいと思います。私が使用すると思う方法が正しいかどうかはわかりません。フォームが送信された後のmeteor js(meteor-autoform + iron router)のパス値

はテンプレートでフォームを作成:フォームは&を検証

AutoForm.addHooks('insertTransaction',{ 
    onSuccess: function(data){ 
    Router.go('one', null, {query: 'amount=' + data->amount}); 
    console.log(data); 
    } 
}); 

@Michelフロイド

に挿入されたとき、私はフックを作成し、その後

{{> quickForm collection="Transactions" id="insertTransaction" type="insert"}} 

が呼び出されるためにここで私はすでに試したものです私のone.html

<template name="one"> 
<div class="row"> 
    <div class="col-sm-7"> 
     One Page... 
    </div> 
    <div class="col-sm-5"> 
     {{ amount }} 
    </div> 
</div> 
</template> 

home.jsから私のコード(クライアント/ home.js):私は1つ " "すべての時間" Noルートの名前が見つかりません" を取得

Router.route('/one/:amount',()=>{ 
name: 'one', 
this.render('one', {data: this.params.amount}); 
}); 

AutoForm.addHooks('insertTransaction',{ 
onSuccess: function(data, data2, data3){ 

    result = Transactions.findOne(data2, { amount: 1}); 
    amount = (result["amount"]); 
    Router.go('one',{amount: amount}); 
} 
}); 

は、ここに私のルータのコードです。

+0

の次amountへのアンダースコアがないことをRouter.go('one',{amount: amount});

注意を使用しています。 – zim

+0

'data-> amount 'を使っているのがうまくいかないようです。私がGETパラメータ 'data'として渡すためにデータだけを使うとき、私は" insert "しか得ません。値そのものにアクセスするには? – wichtel

+0

はそれがdata.amountではないでしょうか?しかし、私はIronRouterを使用しないので、私はその行で何が起こっているのかはっきりしていません。私はちょうど全体のアイデアが合理的だと言っていた。 – zim

答えて

0

まずPARAMとしてamountのルートを作成し、すなわち

Router.route('/one/:amount',()=>{ 
    name: 'one', 
    this.render('one', {data: this.params.amount}); 
}); 

次に考えは私には合理的なようだthis.params.amount

+0

ルートの作成方法は?私は最初の投稿に自分のコードを掲載しました。 – wichtel

+0

編集された回答を参照 –

+0

これは奇妙なことです、最初の投稿で私の更新を確認してください。それはそんなに奇妙なことだ。今はテンプレートが見つかりません。 – wichtel

関連する問題