2016-08-06 9 views
0

私のプロジェクトでは不思議です。私はlocalhost/app/esetting/mymailでアクセスできるフォームを持っており、これは、ビューのコードです:laravel 5、フォームは未知のURL値にリダイレクトを送信

.... 
<form action="{{ url('app/esetting/emailautomsave') }}" class="form-horizontal" method="post" enctype="multipart/form-data"> 
         {{ csrf_field() }} 
... 
<input type="submit" value="save"> 
</form> 

が、私は、フォームの提出をクリックしようとしたとき、私はそれがapp/esetting/emailautomsaveに行くことを期待してオンになっているコントローラと呼んでいます私のSettingsController.php

public function postEmailautomsave(Request $request){ 
... 
} 

ですが、localhost/app/mymailにリダイレクトされますか?私にこのエラーを教えてください:

NotFoundHttpException in Controller.php line 93: 
Controller method not found. 

これは私の最後に奇妙に聞こえる。誰もがこれについての考えを持つことができますか?

Route::post('esetting/mymail/emailautomsave', '[email protected]'); 

を、私はあなたが言うだろうことを知っている:「私はルートを定義した::コントローラを、ので、私は、これは特別に私のroutes.php

Route::group([ 'prefix' => 'app', 'middleware' => 'auth' ], function() { 
.... 
Route::controller('esetting', 'SettingController'); 
Route::get('esetting/mymail', '[email protected]'); // view for the form to display 
.... 
+0

わかりません。 – Moritur

+0

はまた、あなたのURLは/ esetting/...しかし、あなたはルート::コントローラ(「設定」、...)を使用している – Moritur

+0

はあなたの認証ミドルウェアをチェックしていますか?私はルートを使用していないよ –

答えて

1

に単に定義する権利を行っていると確信していますそれは静観的にそれを探します。

私にとっては、経路を正確に定義することがベストです。

it redirects to localhost/app/mymail? and give me this error:

NotFoundHttpException in Controller.php line 93: Controller method not found.

は、多分それはいくつかのミドルウェアがあなたをリダイレクトしていることを意味します場合も

あなたは、単にこれを行うことによって、それを確認することができます:

public function postEmailautomsave(Request $request){ 
    die('test'); 
    ... 
} 

それは、いくつかの機能が前に呼び出されたことを意味してapp/mymailにブラウザをリダイレクトするようにリダイレクトされます場合。あなたはルート::コントローラを使用する場合

0

あなたは経路に従ってあなたのメソッドを定義する必要があります。 など。 HTTPを訪問したときに

Route::controller('esetting', 'SettingController'); 

はSettingController @ getIndexを探します:: SettingController @ postEmailAutomsaveに到達するには

を//yoursite.com/esetting()あなたは、ルートのhttp ::に行く必要があるだろう私はルートを使用していない

を//yoursite.com/esetting/emmail/automsave ::私も使用(今好む)しまった、自分自身をコントローラ個別に名前を付けます。 しかし、これはトリックを行う必要があります。それは単にタイプミスだが、あなたの終値のフォームタグが正しくない場合

Laravel 5.1 docs

関連する問題