我在刀片中使用Form::open(['action' => '[email protected]']);
将数据从视图传递到控制器。然后,我得到了一个错误:将数据从刀片视图传递到laravel中的控制器
Action App\Http\Controllers\[email protected] not defined.
这是正确的,因为我的控制器是在这个地址:
App\Modules\Somethings\Controllers\
所以,我该怎么做才能解决这个问题。
谢谢。
我在刀片中使用Form::open(['action' => '[email protected]']);
将数据从视图传递到控制器。然后,我得到了一个错误:将数据从刀片视图传递到laravel中的控制器
Action App\Http\Controllers\[email protected] not defined.
这是正确的,因为我的控制器是在这个地址:
App\Modules\Somethings\Controllers\
所以,我该怎么做才能解决这个问题。
谢谢。
你可以试试这条路。
在routes.php文件文件首先要建立这样的路线
Route::any('first/second/{id}', [ 'uses' => 'App\Modules\Somethings\[email protected]' ]);
然后使用形式路线网址
{!! Form::open(['url' => 'first/second/5', 'method' => 'put']) !!}
可能是文件名是问题。 Laravel基本上也提供了默认控制器。为什么不更改名称并尝试使用新名称或完整路径。
你将从路线文件夹还航线文件,并使用laravel 5.3
您可以通过使用途径,而不是控制@方法解决它。
在你routes.php文件定义的资源在你的控制器
Route::resource('posts', 'PostController', ['before' => 'csrf']);
指向然后你可以使用URL ::路线()方法来得到正确的路线。
{!! Form::open(['url' => URL::route('posts.update', [$post->id]), 'method' => 'put', 'files' => false]) !!}
要查看所有路线以及它们是如何运行的别名以下工匠命令:
L5.x
php artisan route:list
L4.x
php artisan routes
您可以使用
Form::model
改为。 示例:
Form::model($user, ['method' => 'PATCH', 'action' => ['[email protected]', $user->id], 'files' => true])
// do you form stuff
Form::close()
将完全限定名称空间添加到模板中? – Andrew
是你的想法:'Form :: open(['action'=>'App \ Modules \ Somethings \ Controllers \ Controller @ method']);' 我试过了。这个错误变成了'Action App \ Http \ Controllers \ App \ Modules \ Somethings \ Controllers \ Controller @ method not defined.' – Chung
等待,等一下,不应该表单动作导致实际导致控制器的url?你在用什么laravel版本? – Andrew