질문을 삭제하지 말아주세요.!
 
1
0
-1
show.blade.php
@extends('layouts.app')

@section('content')
  @php $viewName = 'articles.show'; @endphp


  <div class="page-header">
    <h4>
      <a href="{{ route('articles.index') }}">
        {{ trans('forum.title') }}
      </a>
      <small>
        {{ $article->title }}
      </small>
    </h4>
  </div>
  <div class="row container__article">
    <div class="col-md-3 sidebar__article">
      <aside>
        @include('articles.partial.search')

        @include('tags.partial.index')
      </aside>
    </div>

    <div class="col-md-9 list__article">
      <article data-id="{{ $article->id }}" id="item__article">
        @include('articles.partial.article', compact('article'))

        <div class="content__article">
          {!! markdown($article->content) !!}
        </div>

        @include('tags.partial.list', ['tags' => $article->tags])
      </article>

      <div class="text-center action__article">
        @can('update', $article)
          <a href="{{ route('articles.edit', $article->id) }}" class="btn btn-info">
            <i class="fa fa-pencil"></i>
            {{ trans('forum.articles.edit') }}
          </a>
        @endcan
        @can('delete', $article)
          <button class="btn btn-danger button__delete">
            <i class="fa fa-trash-o"></i>
            {{ trans('forum.articles.destroy') }}
          </button>
        @endcan
        <a href="{{ route('articles.index') }}" class="btn btn-default">
          <i class="fa fa-list"></i>
          {{ trans('forum.articles.index') }}
        </a>
      </div>

      <div class="container__comment">
        @include('comments.index')
      </div>
    </div>
  </div>
@stop

@section('script')
  <script>
    $('.button__delete').on('click', function (e) {
      var articleId = $('article').data('id');
      if (confirm('{{ trans('forum.articles.deleting') }}')) {
        $.ajax({
          type: 'DELETE',
          url: '/articles/' + articleId
        }).then(function () {
          window.location.href = '/articles';
        });
      }
    });
  </script>
@stop
(app/Http/Controllers/ArticlesController.php
public function show($id) { 
	$article = \App\Article::findOrFail($id); 
	//dd($article);  // debug 실습 중..
	debug($article->toArray()); 


	return view('articles.show', compact('article')); 
} 

View [articles.partial.search] not found. (View: C:\myapp\resources\views\articles\show.blade.php)

위의 에러가 뜨면서 실행이 안됩니다.

코드는 17-3 그대로 썼고, show.blade.php는 디폴트 소스에서 건드리지 않았습니다.

php 버전은 7.0.23, 라라벨 버전은 5.5.14입니다.

    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1

      resources/views/articles/partial/search.blade.php 파일 처럼 부모 뷰에서 필요로 하는 조각 뷰 파일이 존재하는 지 확인해 주세요. 아마 읽고 따라하시다가, 중간에 일부 내용을 놓쳐서 필요한 파일이 만들어지지 않은 것이 아닐까 싶습니다.

      https://github.com/appkr/l5code/tree/master/resources/views/articles/partial

      1. 이윤

        답변 감사드립니다.

        저자님의 깃허브 저장소에 있는 article.partial.search 와 tag.partial.index 등을 추가해 봤지만 여전히 오류가 발생합니다..

        (Undefined variable: allTags (View: C:\myapp\resources\views\tags\partial\index.blade.php) (View: C:\myapp\resources\views\tags\partial\index.blade.php))

        책을 처음부터 다시 보면서 찾아보았지만, article.show(view) 파일은 직접 작성한 파일이 아니고

        php artisan make:controller articles [--resource --model=article]

        위 명령어의 실행결과로 생성된 것 같은데 혹시 아닌가요?

        어째서 show.blade.php 파일이 생성되었는지 알려주셨으면 좋겠습니다.

        혹시 모르니 저도 프로젝트를 낮은 버전으로 새로 만들어서 다시 실습해 보도록 하겠습니다 ㅠ

      2. 이윤

        + make:controller로 생성된 것 같다는 질문은 잘못된 것이란 걸 혼자 깨달았습니다..

        그래도 여전히 건드린 기억이 없는 show.blade.php 파일이 왜 생긴건지 의문입니다. 제가 책을 제대로 안 읽은 걸까요..

      3. 이윤

        + 제가 직접 깃허브에서 추가 했었으면서 까먹고 있었네요..

        책 159페이지에 선택 사항이라고 되어있는 것 보고 추가 했었는데, 답변 주신대로 조각뷰들까지 다 추가하지 않아서 오류가 떴던 것 같습니다. 제가 파일 추가 해놓고 잊어버렸습니다.

        친절한 답변 감사드립니다.

      CommentAdd your comment...
    2.  
      1
      0
      -1

      show.blade.php에서 제목과 내용 표시하는 부분 외에 삭제하니 동작하는 건 확인했습니다.

      articles.partial.search나 tags.partial.index같은 부분은 이전 버전에는 없던 부분인가요?

      디폴트 상태로 쓰기 위해 필수적으로 만들어야 된다면 어떻게 해야되는 지 알려주시면 감사하겠습니다.

        CommentAdd your comment...