我对Laravel有更多的一般性问题。 我是新手。
我已经创建了一个表单:
{!! Form::model($tourists, ['action' => 'TouristController@store', 'id' => 'passengers_form', 'class' => 'inline' ] ) !!}
{!! Form::close()!!}
它输出:" Action App \ Http \ Controllers \ TouristController @ store未定义。"
虽然 TouristController 和方法商店确实存在。 我尝试了这个,然后发现当我将它添加到我的web.php文件(之前版本中的routes.php)时它可以工作:
"Route::post('/addtourist', 'TouristController@store');"
好的,我明白了,为了让方法有效,我应该把它添加到" web.php" (路由)。
但是如果我有一种方法可以让我在没有' url的情况下工作呢?
例如,我想将信息从上面的表格(或任何其他视图)发送到' TouristController @ store'直接,不使用' / addtourist'?
喜欢
Route::justMakeMethodWorkWithoutAnyURL('TouristController@store');
这可能吗?
很抱歉,如果我的问题让自己感到困惑。我想更深入地了解Laravel。
答案 0 :(得分:1)
这是一个古老的问题,但是我相信这就是您想要的:
action('TouristController@store');
action
函数为给定的控制器操作生成一个URL。
答案 1 :(得分:0)
我想你可以试试这个
Route::post('/addtourist', 'TouristController@store')->route('tourist');
{!! Form::open(['route' => 'tourist', 'id' => 'passengers_form', 'role' => 'form', 'method' => 'post','class'=>'inline']) !!}
希望这对你有用!
答案 2 :(得分:0)
我认为你想要的只是编写一个类,然后将它包含在你的php文件中以调用它的方法。
根据定义,路由用于将URL映射到某个逻辑处理程序。在您的表单示例中,您必须将数据发布到URL,因为这是html表单的作用。