【发布时间】:2014-05-21 11:42:35
【问题描述】:
我在使用 L4(可能是 symfony2?)路由时遇到了一些问题,我似乎无法在线或在精彩的 Code Bright 中找到任何资源,但在 IRC 中却一无所获。
我正在尝试通过控制器使用带有命名路由的可选参数,但在加载视图时收到错误。
路线:
Route::get('/topic/{topicID?}', array(
'as' => 'topicDetails',
'uses' => 'TopicController@showTopic'
));
控制器:
class TopicController extends BaseController {
public function showTopic($topicID = null)
{
$data['topicID'] = $topicID;
return View::make('topic_view', $data);
}
}
查看
<a href="{{ route('topicDetails') }}">XXX</a>
错误:
Parameter "topicID" for route "topicDetails" must match "[^/]++" ("" given) to generate a corresponding URL.
我假设这没有将 null 值传递给 $param,但我对 L4 不够熟悉,无法弄清楚它为什么不起作用,而且我已经用尽了所有资源。
任何线索将不胜感激谢谢!
【问题讨论】:
-
我似乎无法重新创建这个。使用您在此处发布的确切代码对我来说效果很好。
-
@jakeharris 试试这个
<a href="{{ route('topicDetails',array()) }}">XXX</a> -
@JasonLewis - 这是导航菜单中的永久链接,所以也许这就是您无法重新创建它的原因?我最终感到沮丧并使用 get 参数运行它。
-
导航菜单中的永久链接?嗯?我复制了你的确切代码,它工作正常。
-
@TryingTobemyself Dang,我希望保持路线助手漂亮。