laravel 5中路线的一些问题

时间:2016-10-03 18:49:36

标签: php laravel-5 laravel-5.3

我对laravel 5很新,我试图用它做一个小应用程序。我有下一个错误,我不知道该怎么做。

  <servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>
        com.sun.jersey.spi.container.servlet.ServletContainer
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>jersey-serlvet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>

我遇到此问题的路线存在问题:

MethodNotAllowedHttpException in RouteCollection.php line 218:
 in RouteCollection.php line 218
 at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in   RouteCollection.php line 205
 at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 158
 at RouteCollection->match(object(Request)) in Router.php line 780
 at Router->findRoute(object(Request)) in Router.php line 610
 at Router->dispatchToRoute(object(Request)) in Router.php line 596
 at Router->dispatch(object(Request)) in Kernel.php line 267
 at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
 at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
 at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
 at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
 at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
 at Pipeline->then(object(Closure)) in Kernel.php line 149
 at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
 at Kernel->handle(object(Request)) in index.php line 54

我的TrivagoController非常简单:

Route::get('/', function () {
return view('welcome');
});

Route::get('principal', function () {
return view('principal');
});

 Route::resource('trivago','TrivagoController');

最后我的观点是:

<?php

   namespace App\Http\Controllers;

   use Illuminate\Http\Request;

   use App\Http\Requests;

class TrivagoController extends Controller
{
//
  public function index()
  {

  }
  public function show()
  {

  }
  public function create()
  {

  }
  public function store()
  {
    return "Aquí estoy";

  }
  public function destroy()
  {

  }
}

那么我做错了什么?提前谢谢。

2 个答案:

答案 0 :(得分:0)

由于store路由的resource使用了http post方法,您需要在html表单中指定它

{!!Form::open(['route'=>'trivago.store', 'method'=>'post'])!!}

答案 1 :(得分:0)

它在做什么问题就是这个

Route::get('principal', function () {
  return view('principal');
});