2016-09-02 2 views
1

저는 현재 laravel에서 블로그를 만들고 있습니다. 나는 모든 게시물 제목을 나열하는 페이지가 있습니다. 제목을 클릭하면 전체 게시물로 이동합니다. 그래서 나는 그것을에서 이동 게시물을 클릭 할 때 :Laravel 경로를 블로그 포스트

@foreach($postsLists as $post) 
<h1><a href="/posts/{{$post->id}}"> {{$post->title}}</a></h1> @endforeach 

그러나 이상한 것은이 때이다 :/글/{post_id를}을 localhost로 로컬 호스트/게시물

내가 그렇게하는 데 사용되는 코드는 특정 블로그 게시물에 댓글을 달면 URL이 손상된 다른 블로그로 이동합니다.

/posts/posts/{post_id}는/posts 뒤에 있습니다. 그래서 나는/posts/posts/{post_id}를 얻는다. 어떤 것도 이끌지 않습니다.

입니다 내 의견을 사용하는 코드 :

public function store(Request $request, post $post) { 
    $post->addComment(
     new Comment($request->all()) 
    ); 

    return back(); 
} 

그리고이 블로그 게시물에 대한 경로입니다 :

Route::get('posts/{post}', '[email protected]'); 

누군가가이 문제를 해결하는 방법을 알고 있나요? 나는 많은 것을 시도했지만 아무것도 작동하지 않습니다.

감사합니다.

답변

1

링크에 적절한 URL이 생성되도록하려면 Laravel의 명명 된 경로를 사용할 수 있습니다. routes.php에서 :

<h1>{{ link_to_route('posts.show', $post->title, [$post->id]) }}</h1> 

당신은 대신 back()의도 컨트롤러에서 사용할 수 있습니다 :

return redirect()->route('posts.show', [$post->id]); 
0
public function store(Request $request, $postId) { 
    $post = Post::findOrFail($postId); 
    $post->addComment(
     new Comment($request->all()) 
    ); 

    return back()->with('success', 'done!'); 
} 
템플릿에서

Route::get('posts/{post}', '[email protected]')->name('posts.show'); 

관련 문제