web-dev-qa-db-ja.com

フォーム送信時にルートパラメータを使用して変数を渡すLaravel 5.2

私はviewpage.phpの私のフォームにこれを持っています:

<form action="{{ route('test.route'), ['id' => $params_id] }}" method="POST" >

そしてこれはroute.phpにあります:

Route::post('/testing/{{id}}',[
    'uses' => 'TestController@testMethod', 
    'as' => 'test.route'
]);

そしてこれは私のTestControllerです:

public function avaliarSubordinor(Request $request, $uid){
    return $uid;
}

'[Route:test.route] [URI:testing/{{id}}]に必要なパラメーターがありませんというエラーが表示されます。基本的に私が欲しいのは、フォームが送信されたときにパラメーター付きのルートを使用してコントローラーに変数を渡すことです。

私がこれを適切に行っているかどうかはわかりません..誰かが私を助けたり、私が間違っていることを理解できるように例を示したりできるかどうか。

4
OzmaTis

古い投稿ですが、将来的に他の人の役に立つことを願っています。私にとってLaravel 5.8[〜#〜] post [〜#〜]メソッドは問題なく機能しました。

HTMLフォーム:

<form method="POST" role="form" action="{{route('store_changed_role', [$user_id, $division_id])}}">

ルート:

Route::post('/sotre_changed_role/{user_id}/{division_id}', 'Admin\UserController@store_changed_role')->name('store_changed_role');
0
Raihan Ahmed

私にとって、これはかなりうまくいきました。

{{ Form::open(array('route' => array('user.show', $user->id))) }}

クラス名付き

{{ Form::open(array('route' => array('user.show', $user->id), 'class' => 'section-top')) }}
0
Anil Singh