2017-05-18 12 views
0

このエラーメッセージが表示されます。このエラーを解決するには:Controller.phpのNotFoundHttpException?

NotFoundHttpException in Controller.php 269:コントローラーメソッドが見つかりません。

このエラーメッセージは誰にでも解決できますか?ここでは、エラーメッセージに関連しているすべてのコード:

HomeController.php

public function postSeo(Request $request) 
{ 



    $data = array('meta_title' => $request->get('meta_title'), 
       'meta_keyword' => $request->get('meta_keyword'), 
       'meta_description' => $request->get('meta_description') 
       ); 


    DB::table('meta')->where('meta_id', '1') 
        ->update($data); 

    return redirect('/home/article');     

} 

Route::post('/home/article', [ 
    'uses' => '[email protected]' 
]); 

routes.phpのarticles.blade.php

<label>SEO</label><br><br> 

               <table width="350px"> 
               <form action="{{ action('[email protected]')}}" method="post"> 
               {{ csrf_field() }}  

               <tr> 
               <td>Meta Title</td> 
               <td><input type="text" value="" name="meta_title"></td> 
               </tr> 
               <tr> 
               <td>Meta Keyword</td> 
               <td><input type="text" value="" name="meta_keyword"></td> 
               </tr> 
               <tr> 
               <td>Meta Description</td> 
               <td><input type="text" value="" name="meta_description"></td> 
               </tr> 
               <tr> 
               <td><br><br><input type="submit" value="update"></td> 
               <td></td> 
               </tr> 

               </form> 
               </table> 
+0

エラーはいつ発生しますか?フォームを提出するには?あなたは '/ home/article''にリダイレクトしていますが、これのためのルートを設定しましたか? – Sandeesh

+0

Onフォームを送信しています。これは唯一のルートではありません。 – Davy

+0

リダイレクトしているルートが不足しています。 '/ home/article'にリダイレクトするときには、' get'ルートを定義する必要があります。別の場所にリダイレクトするか、更新後に新しいルートを追加して何かを表示するだけです。 – Sandeesh

答えて

0

更新した後あなたは/home/articleにリダイレクトしています。ルートはgetルートです。あなたがこのルートを定義していないように見えます。このルートを追加するか、別の場所にリダイレクトする必要があります。

Route::post('/home/article', '[email protected]'); 
Route::get('/home/article', '[email protected]'); 

このためのルートを取得する必要がない場合は、リダイレクトする適切なページを見つけます。

+0

私はルートを次のように変更します:Route :: post( '/ home/article'、 'HomeController @ postSeo');なぜ私は往路と復路の両方を必要としますか? – Davy

+0

'postSeo'メソッドでは、 'return redirect( '/ home/article');'を実行するので、そのルートを定義する必要があります。これはgetルートです。他の場所にリダイレクトしたくない場合。 – Sandeesh

+0

もし私がそれをしたら、公共の機能で何を書くべきでしょうか?showSeo(request $ request){? } – Davy

関連する問題