2016-12-05 87 views
-1

我想問一下如何刪除路由名中的項目名。我通過教程去,並按照每個練習時,我曾經試圖發佈是這樣進行登記:如何在Laravel中刪除路徑名中的項目名稱

<form action = "/user/register" method = "post"> 
    <input type = "hidden" name = "_token" value = "<?php echo csrf_token() ?>"> 

    <table> 
     <tr> 
      <td>Name</td> 
      <td><input type = "text" name = "name" /></td> 
     </tr> 

     <tr> 
      <td>Username</td> 
      <td><input type = "text" name = "username" /></td> 
     </tr> 

     <tr> 
      <td>Password</td> 
      <td><input type = "text" name = "password" /></td> 
     </tr> 

     <tr> 
      <td colspan = "2" align = "center"> 
       <input type = "submit" value = "Register" /> 
      </td> 
     </tr> 
    </table> 

    </form> 

,但是當我張貼,它顯示一個錯誤說URL中沒有發現,所以我說的項目名稱在url:/test_laravel/user/register是新的操作。那麼它的工作,但如何擺脫這一點?

謝謝!

+0

<形式方法= 「POST」 行動= 「{{動作( 'Yourcontroller @功能')}}」 接收字符集=「UTF -8「> –

+0

謝謝@Shanukk,但它會拋出一個錯誤。這是新的動作:''{{action('UserRegistrationController @ postRegister')}}''。 –

+0

Route :: post('/',array('as'=>'postRegister','uses'=>'UserRegistrationController @ postRegister'));在路線 –

回答

0

這就是設計路線的原因。

製作一個路徑文件;

Route::post('user/registration',['uses' => '[email protected]','as' => 'giveRouteAUniqueName']); 

uses accepts controller name and after @ accepts method(function) of the controller 
and as gives you ability to assign new unique name to route now you can call 
route('RouteName'); in our case its route('giveRouteAUniqueName') 
1

爲了讓你可以使用適當的URL:

route()

url函數產生一個完全合格的URL給定的路徑:

$url = route('routeName'); 
$url = route('routeName', ['id' => 1]); 

url()

的網址函數生成完整$ URL =路線( 'routeName',[ 'ID'=> 1]); Y限定的URL爲給定的路徑

echo url('user/profile'); 
echo url('user/profile', [1]); 

action()

action函數爲給定的控制器操作生成一個URL。您不需要將完整的名稱空間傳遞給控制器​​。取而代之的是,相對的控制器類名到App\Http\Controllers命名空間傳遞:

$url = action('[email protected]'); 
$url = action('[email protected]', ['id' => 1]); 
+0

非常感謝你!它現在有效。 –

相關問題