2016-04-19 4 views
1

時にPOSTルートを実行します。Laravelは、だから私は、フロントページ上のフォームを持って積載ページ

{{ Form::open(array('url' => URL::to('', array(), true))) }} 
     <p> 
      {{Form::label('author') }} 
      {{Form::text('author') }} 
     </p> 
     <p> 
      {{Form::label('title') }} 
      {{Form::text('title') }} 
     </p> 
     <p> 
      {{Form::label('message') }} 
      {{Form::text('message') }} 
     </p> 
     <p> 
      {{ Form::submit() }} 
     </p> 
{{ Form::close() }} 

その後、これらは私のルートです:

Route::get('/', function() 
{ 
    /* unrelated stuff here */ 
}); 

Route::post('/', function() 
{ 
    /* testing */ 
    print_r("DONE!"); 
    exit; 
}); 

だから私は基本的に私のかどうかをテストしようとしていますフォーム提出の作業の有無そしてそれはしません。何らかの理由で、フォームが送信されたときではなく、フロントページを読み込んだ後でPOSTメソッドが実行されています。それはなぜですか、どうすればこの問題を解決できますか?

+1

変更することと 'URLのようなあなたのポストメソッド'/test'のルート名を::(へ'/ test') '。 – aldrin27

+0

@ aldrin27それはうまくいったけど、フロントページで実行されてホームページに戻ってきたことをどうやって確認できますか?基本的には、フロントページのフォームを使用して投稿を追加し、新しく追加された投稿が投稿リストの上に表示されます(データベースに追加された後)。/testにリダイレクトされないようにするにはどうすればよいですか? – JanisOzolins

+0

'リダイレクト:: to( '/');' – aldrin27

答えて

1

あなたのフォームのURLが/に投稿するために指定する必要があります -

Route::post('/', function() 
{ 
    /* testing */ 
    print_r("DONE!"); 
    return Redirect::to('/'); 
}); 

Hereがある - あなたはこのようなあなたのPOSTメソッドを変更する必要がありますバックホームページにリダイレクトするために

{{ Form::open(array('url' => '/')) }} 

リダイレクトのためのドキュメント

0

私はdirrefentルートを使用することをお勧めいたしますでしょう:

{{ Form::open(array('url' => URL::to('/submitForm', array(), true))) }} 

そして:

Route::post('/submitForm', function() 
{ 
    /* testing */ 
    print_r("DONE!"); 
    return redirect()->route('/'); 
}); 
関連する問題