2016-10-22 2 views
0

Ich bin derzeit mit Bild-Upload in Laravel-5.3 beschäftigt. Meine „Profilseite“ Routen sind wie folgt definiert:Laravel Route/{Benutzername} in Form Aktion

/* GET request to show the profile page */ 

Route::get('/{username}', [ 
    'uses' => '\App\Http\Controllers\[email protected]', 
    'as' => 'profile.index', 

]); 

/* POST request to update the Avatar (display pic) */ 

Route::post('/{username}', [ 
    'uses' => '\App\Http\Controllers\[email protected]', 
    'as' => 'profile.index', 
]); 

So ist das Profil URL ziemlich sieht aus wie example.com/john (let „john“ die Benutzername sein)

In Form aber ich habe zu definieren die Aktion".

<form enctype="multipart/form-data" action="" method="POST"> 

Wie kann ich die Route in Form Aktion definieren, so dass die Benutzer ihre eigenen jeweiligen Routen umgeleitet werden; etwas wie "example.com/john".

Ich denke, ich kann nicht direkt <form action="/{username}"> definieren, wie ich zu statt genommen werde.

+0

Sie haben 2 Routen mit demselben Routennamen. – Ruffles

Antwort

0

Wenn Sie Route für den aktuellen Benutzer benötigen, können Sie so etwas wie:

<form enctype="multipart/form-data" action="{{ url(Auth::user()->name) }}" method="POST"> 

UPD: für benannte Route können Sie mit route Helfer

<form enctype="multipart/form-data" action="{{ route('profile.index', ['username' => 'username_here']); }}" method="POST"> 
0

Wie Sie die Route zu benennen, können Sie Verwenden Sie diesen Namen, um die URL über den Helper route() zu definieren, indem Sie ein Array von Parametern als zweites Argument übergeben.

<form enctype="multipart/form-data" 
     method="POST" 
     action="{{ route('profile.index', [ 
      'username' => Auth::user()->name 
     ]) }}">