我有一个类似
的表格{{ Form::open(array('action' => 'Users\BlogController@storeGallery')) }}
我收到错误
(2/2) ErrorException
Action App\Http\Controllers\Users\BlogController@storeGallery not defined. (View: /var/www/html/my-dev/resources/views/users/blog/archive.blade.php)
但是如果我使用{{ Form::open(array('action' => 'Users\BlogController@publish')) }}
此publish
方法之前由其他开发人员创建,我尝试开发storeGallery
方法。
为什么我有人会说错误?
答案 0 :(得分:0)
您无法设置'使用'像那样。这不是方式。您需要为路线定义namespace
!
你的路线应该是;
Route::namespace('Users')->group(function () {
Route::get('url','Controller@function')
});
以你的形式;
{!! Form::open(['action' => 'BlogController@storeGallery']) !!}
试试这样。它应该工作
您还可以在here
中阅读有关名称空间组的文档答案 1 :(得分:0)
异常2/2:Action App\Http\Controllers\Users\BlogController@storeGallery not defined
让我想要相信在该控制器上没有定义路由到该方法。
@publish
可能有一条指向它的路线。您可以查看php artisan route:list
。
检查所需的路线文件,看看是否有路线定义。如果定义了路由,请尝试运行php artisan route:clear
以清除路由缓存,或php artisan route:cache
重新缓存路由。如果路线没有在任何地方定义,请定义它。 (在定义路径后,您可能需要运行上面的一个工匠命令)
看看Exception 1/2是否有任何有趣的事情可能是明智的。
答案 2 :(得分:0)
{!! Form::open(['action' => ['BlogController@storeGallery', $Users->id], 'method' =>'POST']) !!}
我希望这会对你有所帮助!