【问题标题】:Laravel unknown controller action not found issueLaravel 未知控制器操作未找到问题
【发布时间】:2021-03-28 07:09:46
【问题描述】:

我正在使用 Laravel 7。

面对令人沮丧的错误,

InvalidArgumentException Action App\Http\Controllers\CMSController@viewCmsPages 未定义。

成功:

redirect('/admin/view-cms-pages') 

失败:

redirect()->action('CMSController@viewCmsPages')
class CmsController extends Controller
{
    public function addCmsPage(Request $request)
    {
        if ($request->isMethod('post')) {
            $data = $request->all();

            $cmspage->save();

            //return redirect('/admin/view-cms-pages')->with('flash_message_success','success');  

            //why fail...
            return redirect()->action('CMSController@viewCmsPages')->with('flash_message_success', 'success');
        }

        return view('admin.pages.add_cms_page');
    }

    public function viewCmsPages()
    {
        return view('admin.pages.view_cms_pages');
    }
}
Route::group(['middleware' => ['adminlogin']], function () {

    Route::get('/admin/view-cms-pages','CmsController@viewCmsPages');

    //i try to add in this resource version also still can't call to 
        Route::resource('/admin/pages', 'CMSController');  
});

当我运行php artisan route:list时,我可以看到列表中注册的CMSController@viewCmsPages。

【问题讨论】:

  • 我刚刚尝试了一个全新的 Laravel 7 安装,它似乎对我来说工作正常。
  • 嗯...那很奇怪

标签: laravel routes controller action laravel-7


【解决方案1】:

在你的控制器上试试这个:

return redirect()->route('cms.view')->with('flash_message_success', 'success');

然后在 web.php 上添加路由名称:

// Add name for the route
Route::get('/admin/pages', 'CMSController@viewCmsPages')->name ('cms.view');

如果您有自定义路由,请先注册,资源路由仅适用于方法 [index,create,store,show,destory,edit,update]

【讨论】:

  • 请不要忘记,批准我的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
  • 2019-02-16
  • 1970-01-01
  • 2015-07-05
  • 2014-08-01
  • 1970-01-01
  • 2017-03-29
相关资源
最近更新 更多