เอนทิตีที่กำหนดเองของฉันสามารถแก้ไขได้ ฉันสามารถดูการแก้ไขได้ แต่แบบฟอร์มการยกเลิกการแก้ไขของฉันใช้งานไม่ได้ กำหนดเส้นทางสำหรับแบบฟอร์มใน msul_rovi_games.routing.yml.
entity.rovi_game.revision_revert_confirm:
เส้นทาง: '/rovi_game/{rovi_game}/revisions/{rovi_game_revision}/revert'
ค่าเริ่มต้น:
_title: 'เปลี่ยนกลับเป็นรุ่นก่อนหน้า'
_form: '\Drupal\msul_rovi_games\Form\RoviGameRevisionRevertForm'
ความต้องการ:
_permission: 'จัดการเอนทิตี rovi_game'
rovi_game: \d+
ตัวเลือก:
_node_operation_route: จริง
rovi_game:
ประเภท: เอนทิตี: rovi_game
rovi_game_revision:
ประเภท: entity_revision:rovi_game
แบบฟอร์มถูกกำหนดใน src/Form/RoviGameRevisionRevertForm.php.
เนมสเปซ Drupal\msul_rovi_games\แบบฟอร์ม;
ใช้ Drupal\Component\Datetime\TimeInterface;
ใช้ Drupal\Core\Datetime\DateFormatterInterface;
ใช้ Drupal\Core\Entity\EntityRepositoryInterface;
ใช้ Drupal\Core\Entity\Sql\SqlContentEntityStorage;
ใช้ Drupal\Core\Entity\EntityStorageInterface;
ใช้ Drupal\Core\Form\ConfirmFormBase;
ใช้ Drupal\Core\Form\FormStateInterface;
ใช้ Drupal\Core\Url;
ใช้ Drupal\msul_rovi_games\Entity\RoviGameInterface
ใช้ Symfony\Component\DependencyInjection\ContainerInterface;
/**
* จัดเตรียมแบบฟอร์มสำหรับการคืนการแก้ไข rovi_game
*
*@ภายใน
*/
คลาส RoviGameRevisionRevertForm ขยาย ConfirmFormBase {
/**
* {@inheritdoc}
*/
buildForm ฟังก์ชันสาธารณะ (อาร์เรย์ $form, FormStateInterface $form_state, RoviGameInterface $rovi_game_revision = NULL) {
$this->revision = $rovi_game_revision;
$form = parent::buildForm($form, $form_state);
คืนฟอร์ม $;
}
}
เมื่อฉันพยายามเปลี่ยนกลับ ฉันได้รับข้อผิดพลาดต่อไปนี้
TypeError: อาร์กิวเมนต์ 3 ที่ส่งผ่านไปยัง Drupal\msul_rovi_games\Form\RoviGameRevisionRevertForm::buildForm() จะต้องติดตั้งอินเทอร์เฟซ Drupal\msul_rovi_games\Entity\RoviGameInterface หรือเป็น null สตริงที่กำหนดใน Drupal\msul_rovi_games\Form\RoviGameRevertForm->buildForm() (บรรทัดที่ 116 ของ /opt/drupal/web/modules/custom/msul_rovi_games/src/Form/RoviGameRevisionRevertForm.php)
ฉันพลาดอะไรไป