私が取り組んでいるLaravelアプリケーションには2つのリソースがあります。第2の資源のためネストされたリソースへのリンクを生成するにはどうすればよいですか?
ルートを以下に示す。
$ php artisan route:list | grep -i activity
POST | admin/procedure/{id}/activity | admin.procedure.{id}.activity.store | (...)\[email protected]
GET|HEAD | admin/procedure/{id}/activity | admin.procedure.{id}.activity.index | (...)\[email protected]
GET|HEAD | admin/procedure/{id}/activity/create | admin.procedure.{id}.activity.create | (...)\[email protected]
GET|HEAD | admin/procedure/{id}/activity/{activity} | admin.procedure.{id}.activity.show | (...)\[email protected]
PUT|PATCH | admin/procedure/{id}/activity/{activity} | admin.procedure.{id}.activity.update | (...)\[email protected]
DELETE | admin/procedure/{id}/activity/{activity} | admin.procedure.{id}.activity.destroy | (...)\[email protected]
GET|HEAD | admin/procedure/{id}/activity/{activity}/edit | admin.procedure.{id}.activity.edit | (...)\[email protected]
活動は手続きの下で定義されているので、私は、ネストされたリソース、この設定を呼び出します。定義やルートは次のようになります。
Route::resource('procedure', 'ProcedureController');
Route::resource('procedure/{id}/activity', 'Admin\ProcedureActivityController');
私は、リスト・オール・手続きのルートと同じように手順3に属する新しい活動のためのPOSTアクションへのリンクを生成したいと思います。
$ php artisan tinker
>>> route('admin.procedure.index')
=> "http://localhost/admin/procedure"
>>> route('admin.procedure.{id}.activity')
InvalidArgumentException with message
'Route [admin.procedure.{id}.activity] not defined.'
標準ヘルパーとファサードを使用してネストされたリソースへのリンクを生成する方法はありますか?
FYI、https://laravel.com/docs/5.2/helpers#method-route – haakym