Getting below error while clicking on edit action from Grid.
Fatal error: Uncaught Error: Call to a member function getUrl() on null in /var/www/html/myproject/machpack/app/code/Vendor/Module/Block/Adminhtml/Module/Edit/Button/Generic.php:60 Stack trace: #0 /var/www/html/myproject/machpack/app/code/Vendor/Module/Block/Adminhtml/Module/Edit/Button/Delete.php(38): Vendor\Module\Block\Adminhtml\Module\Edit\Button\Generic->getUrl('//delete', Array) #1 /var/www/html/myproject/machpack/app/code/Vendor/Module/Block/Adminhtml/Module/Edit/Button/Delete.php(28): Vendor\Module\Block\Adminhtml\Module\Edit\Button\Delete->getDeleteUrl() #2 /var/www/html/myproject/magento236/vendor/magento/framework/View/Element/UiComponent/Context.php(285): Vendor\Module\Block\Adminhtml\Module\Edit\Button\Delete->getButtonData() #3 /var/www/html/myproject/machpack/vendor/magento/module-ui/Component/AbstractComponent.php(116): Magento\Framework\View\Element\UiComponent\Context->addButtons(Array, Object(Magento\Ui\Component\Form)) #4 /var/www/html/myproject/mac in /var/www/html/myproject/machpack/app/code/Vendor/Module/Block/Adminhtml/Module/Edit/Button/Generic.php on line 60
Generic.php
<?php
namespace Vendor\Module\Block\Adminhtml\Module\Edit\Button;
use Magento\Search\Controller\RegistryConstants;
/**
* Class Generic
*/
class Generic
{
/**
* Url Builder
*
* @var \Magento\Framework\UrlInterface
*/
protected $urlBuilder;
/**
* Registry
*
* @var \Magento\Framework\Registry
*/
protected $registry;
/**
* Constructor
*
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Magento\Framework\Registry $registry
*/
public function __construct(
\Magento\Backend\Block\Widget\Context $context,
\Magento\Framework\Registry $registry
) {
$this->urlBuilder = $context->getUrlBuilder();
$this->registry = $registry;
}
/**
* Return the synonyms group Id.
*
* @return int|null
*/
public function getId()
{
$contact = $this->registry->registry('Module');
return $contact ? $contact->getId() : null;
}
/**
* Generate url by route and parameters
*
* @param string $route
* @param array $params
* @return string
*/
public function getUrl($route = '', $params = [])
{
return $this->urlBuilder->getUrl($route, $params);
}
}