按钮重定向到错误路径
我正在使用我的刀片视图中的链接按钮。代码如下:按钮重定向到错误路径
<a href="conclusion" class='btn btn-default btn-sm'>End Case</a>
该页面的URL在此链接按钮:
http://localhost/cases/137/responses/30
我的按钮的结果应该是
http://localhost/cases/137/responses/30/conclusion
但它重定向到
http://localhost/cases/137/responses/conclusion
我的laravel ro ute的定义是:
get('/cases/{id}/responses/{respId}/conclusion', '[email protected]');
它有什么问题呢?我该怎么做?
生成URL的保存方式是始终使用Laravels辅助函数。这样您就不会有任何相对URL的问题,因为它始终会生成完整的URL。你的情况action()
将是合适的:
<a href="{{ action('[email protected]', [$id, $respId]) }}" class='btn btn-default btn-sm'>End Case</a>
或者你可以给你的路线名称:
get('/cases/{id}/responses/{respId}/conclusion', [
'as' => 'conclusion',
'uses' => '[email protected]'
]);
然后:
<a href="{{ route('conclusion', [$id, $respId]) }}" class='btn btn-default btn-sm'>End Case</a>
我喜欢这个解决方案。但得到的URL 通过'http://本地主机/例/%7Bid%7D /响应/%7BrespId%7D/conclusion' 我想$ ID,并在此URL –
啊,当然值$ respId。那么你可以将它们从控制器传递到视图,或者直接在视图中使用'Route :: input('id')'。 (我更喜欢第一种方式) – lukasgeiter
重定向与当前路径不相关。它相对于index.xxx。我建议你使用完全合格的路径。
的问题是当前的URL指向一个文件,而不是一个文件夹:https://cdivilly.wordpress.com/2014/03/11/why-trailing-slashes-on-uris-are-important/
当使用相对h ref的实际指向当前文件夹中的文档。虽然您当前的网址没有结尾斜杠(/
),但它被解释为文档并且相对网址实际上会替换文档名称。
所以在这个时候你指向文件http://localhost/cases/137/responses/
中的文件conclusion
,因为30
也是“只是”该文件夹中的一个文件。
为了解决您的问题,你应该打你的页面文件夹http://localhost/cases/137/responses/30/
它允许相对URL的href="conclusion"
指向http://localhost/cases/137/responses/30/conclusion
为了确保该工程在laravel,你的路线指向响应应该有一个结束/
。更好的解决方案是使用laravel帮助程序函数(如route()
和action()
)生成到页面的路径;请参阅http://laravel.com/docs/5.0/helpers#urls
结论页面的laravel路径定义在哪里?你用laravel标记它,但你没有提供与它相关的代码。 – Luceos
你是否在讨论'get('/ cases/{id}/responses/{respId}/conclusion','HomeController @ conclusion');'在route.php中? –