laravel刀片形式没有路由到命名路线

时间:2018-06-11 12:05:53

标签: html laravel forms laravel-5

我是Laravel 5.5中新命名的路由器,在尝试执行表单操作时我遇到了一个奇怪的事情;

设置和说明:

我在web.php中设置路线

Route::post('questions/save_bulk', 'QuestionsController@save_bulk')->name('save_bulk');
Route::post('questions/store_bulk', 'QuestionsController@store_bulk')->name('store_bulk');

然后我在store_bulk中设置save_bulkQuestionsController

public function store_bulk(Request $request)
{
    //$x = some DB::selects statements;
    return view('questions.store_bulk', ['x'=> $x]);
}

public function save_bulk(Request $request){
    dd($request);
}

最后,这是questions.store_bulk中的刀片形式,应该导致QuestionsController.save_bulk

<form method="post" action="{{route('save_bulk')}}">
        {{csrf_field()}}

        /* some codes and input fields */

        <div class="form-group">
            <input type="submit" class="btn btn-primary" value="Submit"/>
        </div>

</form>

问题

问题在于,当我提交此表单时,而不是将我带到所需的路线并执行dd($request),它只是刷新页面而没有我的输入,就好像Laravel采取了最后一个帖子表格返回视图questions.store_bulk。 虽然这与我以前进入视图questions.store_bulk的方式完全相同,但是会发生一件奇怪的事情:当我尝试检查刀片页面中的元素时,我得到以下内容:

<form method="post" action="http://127.0.0.1:8000/questions/store_bulk">

/* some codes and inputs */

</form>

在路由应该转到QuestionsController.save_bulk的代码中,但在检查HTML时,它会转到http://127.0.0.1:8000/questions/store_bulk,如果我在HTML中手动检查并更改路由并写入{{1}它走向正确的路线并执行http://127.0.0.1:8000/questions/save_bulk

问题

为什么会这样?我错过了什么吗?

注意

我在我的PC上本地使用Laravel 5.5准备一个网站。

1 个答案:

答案 0 :(得分:2)

我遇到过与路由类似的问题..您可以更改网址...例如问题/ somethingelse / save_bulk ..所以网址不会冲突..或者运行php artisan cache:clear或view:clear incase你实现了一个页面缓存系统