在laravel路线中我想在before
中使用许多动作,例如:
Route::resource ('admin/contents', 'ContentManagmentController' , array('as'=>'contents'));
我希望:
'before'=>'csrf'
'before'=>'checkAjax'
如何修复此路线:这是正确的吗?
Route::resource ('admin/contents', 'ContentManagmentController' , array('as'=>'contents', 'before'=>'csrf','checkAjax'));
答案 0 :(得分:1)
语法:
array('as'=>'contents', 'before'=>'csrf','checkAjax');
不会按预期工作。它将生成数组:
array(
'as' => 'contents',
'before' => 'csrf',
'0' => 'checkAjax',
)
请参阅Laravel Routing: Attaching Multiple Filters to a Route:
您可以通过在单个字符串中使用条形|
字符分隔多个过滤器来使用它们。
因此:
array('as'=>'contents', 'before' => 'csrf|checkAjax');
将是正确的解决方案。
编辑:
或者,您可以改为传递数组。 E.g。
array('as'=>'contents', 'before' => array('csrf', 'checkAjax'));
也同样有效。