我正在尝试创建一个带有别名数组的路径,所以当我在网址中调用whois
或who_is
时,它会转到相同的路线。
然后我不需要每次都重复代码,只更改别名。
我尝试了下面的代码。
路线中的变量:
$path = 'App\Modules\Content\Controllers\ContentController@';
$aliases['whois'] = '(quemsomos|who_is|whois)';
路线:
Route::get('{whois}', array('as' =>'whois', 'uses' => $path.'getWhois'))->where('whois', $aliases['whois']);
这个也适用
Route::get('{whois}', $path.'getWhois')->where('whois', $aliases['whois']);
在网址my_laravel.com/whois
或my_laravel.com/who_is
或my_laravel.com/quemsomos
中输入会将我发送到$path.'getWhois'
(这是正确的)。
但是当我尝试在刀片上的html中调用它时...
<a href="{{ route('whois') }}">Who we are</a>
参考链接转到my_laravel.com//%7Bwhois%7D
我怎样才能在我的blade.php上调用route('whois')
并让它像在网址上输入一样工作?
我想在我的刀片中使用route
函数,所以我可以保留一个模式。
答案 0 :(得分:5)
在使用route
函数生成路径期间,Laravel希望您设置route参数的值。您将离开参数whois为空,因此不会替换参数捕获{whois}
,并且会获得%7B
和&7D
的荣誉。
因此,为了生成路线,您需要定义您想要用于whois的值;例如{{ route('whois', ['whois'=>'whois']) }}
。