我有多个模态窗口可以在我的Laravel应用程序中编辑用户个人资料。编辑描述的模式,编辑爱好的模式等。 使用一个模态工作正常,因为我可以将它发布到配置文件页面,但问题是,我想将所有模态发布到同一页面,这就是为什么不起作用,我已经意识到这一点。
这就是我的意思:
Route::put('/user/profile/edit','UserController@putDesc');
Route::put('/user/profile/edit','UserController@putRate');
模态是非常基本的形式,我将动作设置为指向UserController方法。 在这种情况下我应该如何进行路由?我希望我很清楚。
答案 0 :(得分:1)
Route::put('somelink', ['uses' => 'SomeController@someFunction', 'as' => 'one-route');
Route::put('someolink', ['uses' => 'SomeController@someOtherFunction', 'as' => 'two-route');
等
如果您使用的是LaravelCollective,您可以这样做:
{!! Form::open(['method' => 'POST', 'route' => 'one-route']) !!}
{!! Form::close() !!}
{!! Form::open(['method' => 'POST', 'route' => 'two-route']) !!}
{!! Form::close() !!}
如果您没有使用LaravelCollective put in action属性
{{route('one-route')}} or {{route('two-route')}}
答案 1 :(得分:0)
如果所有模态都是配置文件的一部分,并且您希望每次用户在模态中编辑某些内容时将数据保存到数据库,则应将所有模态放在表单中并使用单一路径更新整个表单:
Route::put('/user/profile/update/{id}','UserController@update');
另一种方法是使用AJAX查询来获取每个模态的更新数据。如果所有模态(如简单文本输入)中的数据类似,则可以使用一个路径来处理AJAX请求。如果数据不同,请使用多个路径:
Route::post('/user/profile/updateDesc','UserController@updateDesc');
Route::post('/user/profile/updateRate','UserController@updateRate');