在同一页面上发布多个模态

时间:2016-12-29 11:19:06

标签: laravel laravel-5 laravel-5.3

我有多个模态窗口可以在我的Laravel应用程序中编辑用户个人资料。编辑描述的模式,编辑爱好的模式等。 使用一个模态工作正常,因为我可以将它发布到配置文件页面,但问题是,我想将所有模态发布到同一页面,这就是为什么不起作用,我已经意识到这一点。

这就是我的意思:

  Route::put('/user/profile/edit','UserController@putDesc');
  Route::put('/user/profile/edit','UserController@putRate');

模态是非常基本的形式,我将动作设置为指向UserController方法。 在这种情况下我应该如何进行路由?我希望我很清楚。

2 个答案:

答案 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');