laravel5中的路由不能正确工作


Routes in laravel5 don't work correctly

今天我在这条路线上遇到了以下问题,这在我以前从来没有发生过。

{!! Form::open(array('route' => 'subastas/creado', 'class' => 'form')) !!}
<div class="form-group">
    {!! Form::label('Your Name') !!}
    {!! Form::text('name', null, 
        array('required', 
              'class'=>'form-control', 
              'placeholder'=>'Your name')) !!}
</div>
<div class="form-group">
    {!! Form::label('Your E-mail Address') !!}
    {!! Form::text('email', null, 
        array('required', 
              'class'=>'form-control', 
              'placeholder'=>'Your e-mail address')) !!}
</div>
<div class="form-group">
    {!! Form::label('Your Message') !!}
    {!! Form::textarea('message', null, 
        array('required', 
              'class'=>'form-control', 
              'placeholder'=>'Your message')) !!}
</div>
<div class="form-group">
    {!! Form::submit('Contact Us!', 
      array('class'=>'btn btn-primary')) !!}
</div>
{!! Form::close() !!}

在我的路由控制器

Route::post('subastas/creado', array(
    'as' => 'subastas/creado',
    'uses' => 'SubastaController@creado'
    ));

我的控制器

public function creado()
    {
        $usuario = new Subasta();
        $usuario->name= 'Request::input('name');    
        $usuario->save();
    }

当我发送表单时,我收到这个url ?你对这个问题有什么想法吗?

http://localhost/laravel30/public/subastas/create?_token=X93VGoFhFL9YaPYZfrTlyvn0ph9KE6Om00KmMaiv&name=asdafs&email=kfh1992%40gmail.com&message=

我假设您有subastas/creado的另一条路由,用于GET请求显示表单。

在您的Form::open()中,您使用它来生成URL, laravel将其视为GET路由,因为这是在您的routes.php中注册的第一个路由,并将表单方法更改为GET而不是预期的POST

解决方案是更改路由的名称,并在您的Form::open()

中使用它
Route::post('subastas/creado', [
    'as' => 'subastas/creado/post',
    'uses' => 'SubastaController@creado',
]);

然后可以使用下面的代码生成正确的表单开始标记。

Form::open(['route' => 'subastas/creado/post'])