在我正在构建的应用程序中,连接器可以与其他方面一起制作。这些连接器可以有不同的类型。这在例如创建路由中处理,如:
return redirect()->route('connector.'.$connector->type.'.create', $connector->id);
我现在正在尝试生成一个编辑页面,用户首先可以编辑常规信息,但必须重定向到特定类型。我对此的路由重定向是:
return redirect()->route('connector.'.$connector->type.'.edit', $connector->id);
// --> Missing required parameters for [Route: connector.getconnector.edit] [URI: connector/{connector}/getconnector/{getconnector}/edit].
路线档案:
Route::resource('connector.reportconnector', 'ReportconnectorController');
Route::resource('connector.getconnector', 'GetconnectorController');
但是这条路线不起作用......当我将网址编辑为:connector/4/getconnector/getconnector/edit
时,会生成我想要的网页。但是这个URL并不是我想要的。我如何获得格式化的connector/{id}/{type}/edit
路由?
答案 0 :(得分:2)
如果你使用Route :: get();作为解决方案,您必须为所有其他人(index, create, store, show, edit, update, delete
)定义或者您的路线将以自己的方式继续工作。
您不需要仅为edit
使用Route :: get()定义所有内容。
你可以这样使用。
Route::group(['prefix' => 'connector'], function()
{
Route::resource('getconnector', 'GetconnectorController', ['except' => ['edit']]); //this won't call the edit
//So, For edit
Route::get('{id}/{type}/edit',[
'as' => 'connector.getconnector.edit',
'uses' => 'GetconnectorController@create'
]);
//Others Under connector
});