【问题标题】:laravel blade form not routing to a named routelaravel 刀片表单未路由到命名路由
【发布时间】:2018-11-20 16:20:01
【问题描述】:

我是 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');

然后我在QuestionsController中设置store_bulksave_bulk

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 中手动检查和更改路由并写入http://127.0.0.1:8000/questions/save_bulk,它会转到右侧路由并执行dd($request)

问题

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

注意

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

【问题讨论】:

    标签: html laravel forms laravel-5


    【解决方案1】:

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

    【讨论】:

    • 我并没有在任何地方使用相同的名称来发生任何冲突。它就像 questions/store_bulk 或 questions/save_bulk.. 第一个工作正常,而第二个没有甚至在检查页面时也没有。并且每个都路由到不同的命名路由..那么冲突来自哪里?
    • 清除缓存和视图足以解决这个问题,但我仍然无法理解为什么会发生这种情况。如果您能详细说明,我会非常高兴:)
    猜你喜欢
    • 2020-01-11
    • 2014-04-21
    • 2016-09-13
    • 2014-01-05
    • 1970-01-01
    • 2020-03-20
    • 2019-07-19
    • 2013-12-26
    • 1970-01-01
    相关资源
    最近更新 更多