以下是我要执行的操作的上下文:我正在尝试创建一个配置文件系统,用户在该系统中注册并重定向到显示页面,该页面上的所有用户信息(例如他的姓名,电子邮件等)都位于打算显示。由于注册表单仅包含2个字段(名称/电子邮件)-用户必须更新其其他信息,例如性别/ facebook ID / Twitter ID等。因此,我有一个“编辑”按钮,可将用户带到表单。现在在该表单上,我希望显示他已经存在的“名称/电子邮件”,而其他字段(如“性别” /“ FB” /“推特” /“描述”)为空-一旦他填写了这些字段并按“更新”,我希望他返回“显示”页面,然后显示所有此更新/新信息,即性别/名称/电子邮件/ Twitter /描述。以下是到目前为止的代码:
ProfileController.php (资源控制器):
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\CustomUser;
class ProfileController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$customusers = CustomUser::get()->first();
return view ('display',compact('customusers'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit(CustomUser $customuser)
{
return view ('edit',compact('customuser'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request,CustomUser $customuser)
{
$customuser->update($request->all());
return redirect()->route('display.index')->with('creation','Profile has been updated successfully!');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
CustomUser.php (模型):
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class CustomUser extends Authenticatable
{
use Notifiable;
protected $table = 'customusers';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name','username','email','gender','password','message','twitter','facebook',];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password','remember_token',];
}
Display.blade.php (主页):
@extends('layouts.app')
@section('content')
<div style="margin-top: 5.2%;" class="container">
<div class="row">
<div class="col-lg-12">
@if (Session::has('creation'))
<div class="alert alert-info">
{{ Session::get('creation') }}
</div>
@endif
{{ link_to_route('display.edit','Edit',[$customusers->id],['class'=>'btn btn-success']) }}
{{$customusers->name}}
{{$customusers->email}}
{{$customusers->message}}
{{$customusers->facebook}}
{{$customusers->twitter}}
</div>
</div>
</div>
@endsection
最后,这是我的 Edit.blade.php :
@extends('layouts.app')
@section('content')
<body style="height: 105.6vh;">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header" style="color: #fff; background-color: #113;font-family: 'Nunito',sans-serif; text-transform: uppercase;letter-spacing: 2px;
font-weight: bold;">
Edit Profile
</div>
<div class="card-body">
{!! Form::model($customuser,array('route'=>['display.update',$customuser->id],'method'=>'PUT')) !!}
<div class="form-group">
{!! Form::text('name',null,['class'=>'form-control','placeholder'=>'username']) !!}
</div>
<div class="form-group">
{!! Form::email('email','placeholder'=>'Email']) !!}
</div>
<div class="form-group form-row">
<div class="col-5">
{!! Form::select('gender',['Male' => 'Male','Female' => 'Female'],'placeholder'=>'Choose Gender']); !!}
</div>
<div class="col">
{!! Form::text('facebook','placeholder'=>'Facebook ID']) !!}
</div>
<div class="col">
{!! Form::text('twitter','placeholder'=>'Twitter Handle']) !!}
</div>
</div>
<div class="form-group">
{!! Form::textarea('message','placeholder'=>'Talk about yourself']) !!}
</div>
<div class="form-group">
{!! Form::button('Edit',['type'=>'submit','class'=>'btn btn-danger col-lg-12']) !!}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
</body>
@endsection
现在,当我单击“编辑”并转到Edit.blade.php时,所有字段均为空白,当其中两个字段(名称/电子邮件)应预先填充用户凭据的空白时,但这不是“在这种情况下-它们为空。然后,当我填写所有字段并按“更新”时,它会显示“ 此路由不支持PUT方法。我在这里做错了什么?我已经在Internet上纠缠了2多年了”个小时,我在这里找不到我在做错什么。让我知道您需要进一步的信息来解决我的问题。