RouteCollection.php第218行中的MethodNotAllowedHttpException:

时间:2016-09-18 16:39:35

标签: laravel

我正在尝试为简报构建一个控制器,她是我的代码:

控制器

    public function postNews(Request  $request, $user) {
     $this->validate($request, [ 'email' => 'required | email' ]);

     $user = User::findOrFail($id);
     $data = array(
         'email' => $request->email);

         $token = $request->input('g-recaptcha-response');
         if (strlen($token) > 0 ) {

         Mail::send('emails.newsletter', $data, function( $message ) use ($data) {
         $message->from($data['email']);
         $message->to($user->email, $user->name)->subject('A-Studio News Letter');
         //$message->subject($data['subject']);
         });
         Session::flash('success', 'Grazie per esserti iscritto alla nostra news letter!');
         return  view('blog.posts')->withPosts($posts);
         }else {
         return view('pages.nobot');
         }
}

路线

     Route::post('posts/{user}', ['uses' => 'BlogController@postNews', 'as' => 'blog.posts']);

响应 RouteCollection.php第218行中的MethodNotAllowedHttpException:

有什么想法吗?

谢谢。

3 个答案:

答案 0 :(得分:0)

<form method="post" action="/posts">
<input name="email" type="email">
<button type="submit">subscribe</button>
</form>

Route::post('/posts', 'YourController@userSubscribe');

public function userSubscribe(Request $request){
  $data = $request->input('email');
  //Validate $data if necessary and save in the DB

}

这应该有用。

答案 1 :(得分:0)

你应该删除

urllib.urlretrieve(url, custom_file_name)

用作,

   Route::post('posts/{user}', '....');        

并且还在参数中使用带有$ user变量的控制器函数。

我希望这会对你有所帮助。

答案 2 :(得分:-1)

您应该发出POST请求

stanzeFragment