2016-09-22 12 views
1

Laravel 5.3을 사용하여 뷰 페이지 (블레이드)와 동적 링크를 만들려고합니다.laravel에서 링크를 만드는 올바른 방법 5.3

나의 접근 방식은 다음과 같습니다

<a href=" {{ URL::to('articles') }}/{{ $article->id}}/edit">Edit></a> 

그 출력 할 내 기본 URL과 올바른 URL 및 다른 슬러그 :
http://mydomain/articles/23/edit 경우 "23"나의 기사의 ID입니다.

이 작동하지만 더 깨끗한 방법이 있는지 궁금합니다.

많은 감사

+0

이 클리너가 아닌가요? –

+2

URL :: to()는 Laravel 4.2에서 사용 가능한 방법입니다. 5.0부터는'URL'과 같은'Facade' 클래스와 함께'url()'을 사용할 수 있습니다; 둘 다 똑같은 일을하며 둘 다 깔끔한 접근법입니다. 나는 당신이이 비교적 간단한 일을 지나치게 생각할 수도 있다고 생각합니다. –

답변

8

당신이

// Your route file 
URL::get('articles/{articleId}/edit', '[email protected]')->name('articles.edit'); 

//Your view 
<a href="{{ URL::route('articles.edit', $article->id) }}">Edit</a> 

에 대한 named routes을 사용할 수 있습니다 훨씬 더 깨끗한 IMO

I라는 경로로 작업하는 것이 좋습니다
+0

덕분에 작동합니다! 경로 파일은 이미'Route :: resource ('articles', 'ArticlesController'); ' '메쏘드 – JahStation

+0

을 사용하여 이미 채워졌습니다. 경로라는'resource'가 이미 있습니다.) – PeterPan666

0

당신이

<a href="{{ url('/articles/edit',$article->id) }}"><i class="fa fa-fw fa-edit"></i></a> 

하고 파일 route.php

경로 : 수 ('/ 기사/편집/{art_id}'를 시도 할 수 있습니다, 'ArticlesController @ edit');

-1

!

귀하의 루트/web.php 파일 :

Route::get('articles/{articleId}/edit', '[email protected]')->name('article.edit'); 

블레이드 - 템플릿 파일 :

<a href=" {{ route('article.edit', ['articleId' => $article->id]) }}">Edit></a> 
+0

설명이없는 Downvote. 잘 했어요;) – Sebastian

+0

마이너스가 내 것이 아닙니다 ...그런데 내가 당신의 접근 방식을 시도하지만 article.edit/id와 같은 출력으로 인해 실패한다. – JahStation

+0

경로에 이름()을 넣는 것을 잊어 버렸다. 아마도이 문제로 인해 실패 할 것이다. – JahStation

1

할 수 있습니다 앱에서 코드

에 청소기라는 이름의 경로를 사용 /Http/routes.php (laravel 5, laravel 5.1, laravel 5.2의 경우) 또는 app/routes/web.php (laravel 5.3의 경우)

로보기 페이지 (블레이드)에서

Route::get('articles/{id}/edit',[ 
      'as' =>'articles.edit', 
      'uses' =>'[email protected]' 
      ]); 

은 당신이 경로의 URL을 변경하는 경우 명명 된 경로를 사용

<a href="{{ route('articles.edit',$article->id) }}">Edit</a> 

한 혜택을 사용할 경로를 정의 미래에는보기에서 href를 변경할 필요가 없습니다 (귀하의 경우)