【问题标题】:Action url for a form表单的操作 url
【发布时间】:2016-11-23 08:58:40
【问题描述】:

我的路线:

Route::group(['prefix' => 'product'], function () {
    Route::get('{id}', 'ProductController@product')->where('id', '[0-9]+');
    Route::post('{id}/add', 'ProductController@addToCart')->where('id', '[0-9]+');
});

我不想从product/{id} 页面向product/{id]/add 发帖

但是获取表单操作 url 的最佳方式是什么?

现在我有:

<form method="POST" action="{{ Request::url() }}/add">

它有效,但我不喜欢它......而且必须有更好的方法......

<form method="POST" action="{{ action('ProductController@addToCart') }}/add">

给我一​​个例外...

缺少 [Route: ] [URI: product/{id}/add] 的必需参数。 (查看:.../resources/views/product/product.blade.php)

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    如果不喜欢,可以使用路由命名:

    Route::post('{id}/add', 'ProductController@addToCart')
        ->name('product.add')
        ->where('id', '[0-9]+');
    

    然后:

    <form method="POST" action="{{ route('product.add', $id) }}">
    

    $id 是要传递的元素的 id。

    【讨论】:

    • $id是指参数吗?
    • 我收到了Undefined variable: id
    • 是的,它将您在路由中定义的参数称为{id}
    • Undefined variable: id $id :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多