Laravel 5 기초(11)-하위 보기 와 폼 재 활용
5257 단어 laravel
Route::get('/articles/{id}/edit', 'ArticleController@edit');
명령 행 아래
artisan
의route:list
를 사용 하여 현재 의 경 로 를 봅 시다.php artisan route:list
RESTful 에 부합 되 는 상황 에서 laravel 을 직접 사용 할 수 있 는
resource
루트 는 좋 은 선택 입 니 다.그러나 우 리 는 모든 루트 를 제거 하고 유일한 루트 만 추가 합 니 다.Route::resource('articles', 'ArticlesController');
다시
php artisan route:list
를 사용 하여 길 을 살 펴 보 세 요.와,우리 가 기대 하 는 길 들 이 생 겼 습 니 다.하나하나 자세히 살 펴 보 세 요.현재 컨트롤 러 에 방법 추가:
public function edit($id) {
$article = Article::findOrFail($id);
return view('articles.edit', compact('article'));
}
보기 만 들 기
@extends('layout')
@section('content')
<h1>Edit: {!! $article->title !!} </h1>
<hr/>
...
좋 습 니 다.저 는 이 코드 들 이 모두
create.blade.php
에서 복사 되 었 다 는 것 을 인정 합 니 다.수정 을 했 습 니 다.문 제 는 우리 가 중복 해 야 하 는 것 입 니까?나중에 우 리 는 이 문 제 를 처리 할 것 이 니,지금 표 의 제출 문 제 를 살 펴 보 자.경로 에서php artisan route:list
다시 한 번 보고PATCH
방법 을 사 용 했 습 니 다.보 기 를 수정 하 겠 습 니 다.{!! Form::open(['method' => 'PATCH', 'url' => 'articles/' . $article->id]) !!}
브 라 우 저 에 접근
/articles/1/edit
하여 소스 코드 를 살 펴 보 니 laravel 이 자동 으로_method=PATCH
숨겨 진 필드 를 생 성 한 것 을 발견 하 였 습 니 다.문 제 는 글 을 편집 하지만 글 의 정보 가 표시 되 지 않 았 습 니 다.보 기 를 수정 하 겠 습 니 다.
{!! Form::model($article, ['method' => 'PATCH', 'url' => 'articles/' . $article->id]) !!}
OK,everything's ok,
published_on
필드 를 제외 하고 현재 날짜 로 설정 하고 나중에 처리 합 니 다.현재 컨트롤 러 에 방법 추가:
public function update($id, \Illuminate\Http\Request $request) {
$article = Article::findOrFail($id);
$article->update($request->all());
return redirect('articles');
}
우 리 는 수정 하 는 과정 에서 도 우리 의 Request 류 를 재 활용 하여
CreateArticleRequest
더 통용 되 는ArticleRequest
방법 중의 인 자 를 수정 하 는 것 을 잊 지 않도록 검증 해 야 한다. public function update($id, Requests\ArticleRequest $request) {
$article = Article::findOrFail($id);
$article->update($request->all());
return redirect('articles');
}
현재 남 은 문 제 는 우리 의 새 코드 와 편집 이 대부분 같은 코드 를 사 용 했 습 니 다.예 를 들 어 오 류 를 표시 하지만 그들 은 두 부 를 가지 고 있 습 니 다.우 리 는 이 문 제 를 수정 합 니 다.
우 리 는 직접
store
아래 에 새 파일views/articles
을 만 들 고 오류 처리 코드 를list.blade.php
에서 복사 합 니 다.@if ($errors->any())
<ul class="alert alert-danger">
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
create.blade.php
아래 문장 으로 오류 처리 코드 를 교체 하면 됩 니 다.@include('articles.list')
폼 코드 를 다시 처리 합 시다.폼 코드 는
create.blade.php
과 다 르 지 않 고 제출 버튼 과 차이 가 있 으 며 다른 것 은 많 지 않 습 니 다.코드 를 복사 하 는 보기form
를 만 듭 니 다.<div class="form-group">
{!! Form::label('title', 'Title:') !!}
{!! Form::text('title', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('body', 'Body:') !!}
{!! Form::textarea('body', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('published_at', 'Publish On:') !!}
{!! Form::input('date', 'published_at', date('Y-m-d'), ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{{-- , , partial --}}
{!! Form::submit($submitButtonText, ['class' => 'btn btn-primary form-control']) !!}
</div>
수정
articles/form_partial.blade.php
@extends('layout')
@section('content')
<h1>Write a New Article</h1>
<hr/>
@include('articles.list')
{{-- illuminate\html --}}
{!! Form::open(['url' => 'articles']) !!}
@include('articles.form_partial', ['submitButtonText' => 'Add Article'])
{!! Form::close() !!}
@stop
수정
create.blade.php
@extends('layout')
@section('content')
<h1>Edit: {!! $article->title !!} </h1>
<hr/>
@include('articles.list')
{{-- illuminate\html --}}
{!! Form::model($article, ['method' => 'PATCH', 'url' => 'articles/' . $article->id]) !!}
@include('articles.form_partial', ['submitButtonText' => 'Update Article'])
{!! Form::close() !!}
@stop
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.