【问题标题】:Action url to pass parameters to route将参数传递给路由的操作 url
【发布时间】:2018-03-08 10:03:13
【问题描述】:

我的视图中有一个表单,其中包含两个选项,用于按类别或(不是和)商店过滤产品。

我尝试以这种方式制作路由网址:

/products/{filter}/{key}

filter 是 categoryshop 并键入相关项目的 slug。 一些例子:

/产品/类别/平板电脑

/products/category/mac

/产品/商店/eprice

/产品/商店/亚马逊

然后在我的路线中,我认为是这样的:

Route::get('/products/{filter}/{key}', 'PageController@products');

问题

如何在表单中生成操作 url 来制作这条路线 工作吗?

【问题讨论】:

  • 对于您的路线,很难将过滤器识别为按类别或按商店,因此您需要一个额外的参数来识别它。另一种方法是使用如下两条不同的路由:Route::get('/products/shop/{key}', 'PageController@productsByShop');Route::get( '/products/category/{key}', 'PageController@productsByCategory');
  • 我可以创建两条路线,但问题仍然存在,我的表单中的操作 url 需要在 /products/category/{key} 或 /products/shop/{key} 中更改。怎么样?
  • 使用javascript根据选择的类别或商店更改url
  • 你不必为此使用 JS...
  • natas,导致错误的原因不是很明显吗? fitler 应该是 filter 吗?哦,刚刚注意到你已经完成了produtcs,这肯定是products 不?

标签: laravel laravel-5 laravel-5.5


【解决方案1】:

更改路由后记得清除缓存:

php artisan route:cache

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2023-03-20
    • 2011-08-17
    • 2019-03-03
    相关资源
    最近更新 更多