我正在尝试使用我登录的用户填充表单,以便我可以编辑一些个人资料信息。
我目前有这段代码(只是尝试首先显示电子邮件,一旦有效,将填充表单):
我用:
创建了一个editprofile.blade.php模板@extends('masterpage')
@section('content')
<h1> Edit Profile </h1>
{{ Form::model($user) }}
<div class="form-group">
{{ Form::label('email', 'E-mail') }}
{{ Form::Text('email', null, ['class' => 'form-control']) }}
</div>
{{ Form::close() }}
@stop
在myProfileController.php中我有:
<?php namespace App\Http\Controllers;
use Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Html\FormFacade;
use Illuminate\Html\HtmlFacade;
class ProfileController extends Controller {
public function show() {
$user = Auth::user();
return view('pages.editprofile')->withUser($user);
}
}
在我的路线中,我补充道:
Route::get('/profile/edit', 'ProfileController@show');
但是当我尝试加载页面时,我得到了这个:
我有两个问题:
1:为什么没有表格显示数据?正如您所看到的那样,电子邮件正在加载到表单中,但它会将其显示为文本。
2. 一旦数据加载到成功的表单中并且用户编辑了一些数据,我将如何进行更新功能以保存编辑的数据?
答案 0 :(得分:5)
我认为您只是输出原始数据,因为您可能正在使用双括号{{}}。
我记得当我将一个站点从laravel 4迁移到laravel 5时我有同样的事情。他们改变了刀片输出的方式并回显了数据。尝试将双括号{{}}更改为此{{!! !!}}或此{{{}}}我不记得究竟是哪一个。
编辑:关于保存你可以使用控制器,所以当用户发布数据时,它只是使用post方法转到类似的url,所以它调用控制器内的更新功能。
对于某些用户应完全控制其个人资料的功能,如编辑,更新,删除,创建我会使用此http://laravel.com/docs/5.0/controllers#restful-resource-controllers中的示例来看一下宁静的控制器