嗨我正在尝试为laravel 5上的问题资源做一个基本的讨论
到目前为止一直很好,但是现在我在显示编辑视图时遇到了麻烦,因为当我尝试在网址中发送资源ID时,网址没有正确创建
这里是我使用
的主播<a href="{{route('admin/questions/update',$question->id)}}"><button class="submit-form button button btn btn-primary" style="margin: 0 1em;" type="submit">Editar</button></a>
这里是路线档案中的路线
Route::get('admin/preguntas/editar/{id}','QuestionsController@edit')->name('admin/questions/update');
当我手动输入此URL
时,控制器中的方法工作得很好/管理/ preguntas / editar / 4
它显示了没有问题的视图,但是当我从锚点开始时,它的URL就是这个
/管理/ preguntas / editar?4
当然4是来自我资源的id,但为什么不输入正确的URL?
提前致谢
答案 0 :(得分:1)
你不能在按钮周围包装一个超链接,所以我的假设是你的问题与表单动作有关(因为按钮类型是提交),而不是a href
。
因为看起来你正在使用引导程序,所以不需要使用按钮来获得按钮的样式。
<a class="btn btn-primary">
可以正常使用。
答案 1 :(得分:0)
你的“QuestionsController @ edit”接受“id”参数? 像
function edit($id){}
而且我认为,你使用了错误的路由链接助手
Route::get('user/{id}/profile', function ($id) {
//
})->name('profile');
$url = route('profile', ['id' => 1]);
答案 2 :(得分:0)
首先写一个正确的链接按钮,Devon说:
<a href="{{route('admin.questions.update', ['id' => $question->id])}}" class="submit-form button button btn btn-primary" style="margin: 0 1em;">Editar</a>
其次,你必须写出正确的路由名称格式:
Route::get('admin/preguntas/editar/{id}','QuestionsController@edit')->name('admin.questions.update');
希望它能帮助您解决问题:)