当从多个地方调用编辑时,Laravel返回到编辑前的视图

时间:2014-12-29 18:47:49

标签: laravel

我有一个可以从2个不同视图调用的编辑表单。编辑表单后如何返回正确的视图?我是否必须将调用视图传递给编辑页面然后再返回控制器以返回或有更好的方法?

与会者/ index.blade

 <td>{{link_to_route('attendee.edit','',$attendee->id, array(
    'class'=>'edit-attendee btn btn-info btn-xs glyphicon glyphicon-pencil',
    'data-title' => 'Edit Attendee'))}} </td>

寄存器/ index.blade

 <td>{{link_to_route('attendee.edit','',$attendee->id, array(
    'class'=>'edit-attendee btn btn-info btn-xs glyphicon glyphicon-pencil',
    'data-title' => 'Edit Attendee'))}} </td>

edit.blade

{{ Form::model($attendee, array('class'=>'form-horizontal', 'method' => 'PATCH', 'route' => array('attendee.update', $attendee->id))) }}
     ...irrelevant stuff...
        <div class=pull-right>
        {{Form::submit('Update',array('class'=>'btn btn-success'))}}
        <a href = "{{URL::previous()}}" class = 'btn btn-warning'>Cancel</a>
        </div>
{{ Form::close() }}

控制器

public function update($id)
{
    $attendee = Attendee::findOrFail($id);

    $validator = Validator::make($data = Input::all(), Attendee::$rules);

    if ($validator->fails())
    {
        return Redirect::back()->withErrors($validator)->withInput()->with('id', $id);
    }

    $attendee->update($data);

    return Redirect::route('attendees.index');
}

1 个答案:

答案 0 :(得分:0)

Jeffrey Way总是说:“如有疑问,请创建一个新的控制器。”在这种情况下可能是值得建议的。 AttendeesController.php可以处理“常规”编辑,并且对来自注册页面的内容进行新的RegisterAttendeesController.php处理?为了确保控制器之间的一致性,请在模型中使用静态方法进行更新,然后返回单独的视图。