アクション呼び出しをあるコントローラーから別のコントローラーにリダイレクトしたい。ListControllerはエントリのリストを表示し、それぞれに削除ボタンがあります。ビューで具体的なEntryController呼び出しを使用したくないのは、後で実装したい類似のコントローラーがいくつかあるためです。
何らかの理由で、playではEntryControllerでアクションを呼び出すことができず、プログラムは呼び出し行を飛び越えます。再生コードをデバッグすると、ControllerInstrumentation.isActionCallAllowed()がfalseを返すことがわかりました。
ListController
public static void delete(Long id) {
EntryController.delete(id);
}
ListControlleridndexビュー
#{a @delete(id)}delete{/a}
EntryController
public static void delete(Long id) {
Entry entry = Entry.findById(id);
entry.delete();
}
ルート
DELETE /{id} ListController.delete
DELETE /entries/{id} EntryController.delete