2017-02-17 92 views
0

工作,我有一個問題,在laravel路由參數, 這裏是main.blade.php:路由參數不laravel

<body> 
<div class="flex-center position-ref full-height"> 
    <div class="content"> 
     <div class="title m-b-md"> 
      Generate Your Domain Now 
     </div> 
     {!! Form::open(['route'=>'generatorindex' , 'method' => 'post']) !!} 
      <input type="hidden" name="_token" value="{!! csrf_token() !!}"> 
      <input name="inputkeyword" type="text" placeholder="Enter your keyword"> 
      <button type="submit" value="Generate"></button> 
     {!! Form::close() !!} 

    </div> 
</div> 
</body> 

,這裏是在控制器的功能:

public function generator(Request $inputkeyword) 
    { 
     echo $productname = $inputkeyword->input('inputkeyword'); 

    } 

最後,這裏是路線:

Route::any('/generator/{inputkeyword}', [ 'as' => 'generatorindex', 'uses' => '[email protected]' ]); 

但它返回:

ErrorException in UrlGenerationException.php line 17: 
Missing required parameters for [Route: generatorindex] [URI: generator/{inputkeyword}]. (View: C:\Users\Mostafa\myapp\resources\views\main.blade.php) 

我在做什麼錯?我應該在哪裏定義inputkeyword參數?

+0

查看路線,你必須定義d/generator/{inputkeyword}像這樣,但是在表單提交中,您只傳遞了generatorindex,所以請發送generatorindex/paremeter {id} – Sona

回答

2
<body> 
    <div class="flex-center position-ref full-height"> 
     <div class="content"> 
      <div class="title m-b-md"> 
       Generate Your Domain Now 
      </div> 
      {!! Form::open(['route'=> ['generatorindex', '??'] , 'method' => 'post']) !!} 
       <input type="hidden" name="_token" value="{!! csrf_token() !!}"> 
       <input name="inputkeyword" type="text" placeholder="Enter your keyword"> 
       <button type="submit" value="Generate"></button> 
      {!! Form::close() !!} 

     </div> 
    </div> 
</body> 

要麼傳遞一些值,我寫了「??」在上面的代碼中

OR

製作inputkeyword參數與後面添加 它可選的 「?」到route.php文件是這樣的:

Route::any('/generator/{inputkeyword?}', [ 'as' => 'generatorindex', 'uses' => '[email protected]' ]); 

請仔細閱讀本:

https://laravel.com/docs/5.3/helpers#method-route

https://laravel.com/docs/5.3/routing#parameters-optional-parameters


編輯

按照您的要求,您TOL d我在聊天:

routes.php文件

Route::post('generator', [ 'as' => 'generatorindex', 'uses' => '[email protected]' ]); 

Route::get('generator/{inputkeyword}', [ 'as' => 'generatorindexurl', 'uses' => '[email protected]' ]); 

MainController.php

public function generator() { 
    return redirect()->route('generatorindexurl', request('inputkeyword')); 
} 

public function generatorindexurl() 
{ 
    dd(request()); 
} 

視圖

<body> 
    <div class="flex-center position-ref full-height"> 
     <div class="content"> 
      <div class="title m-b-md"> 
       Generate Your Domain Now 
      </div> 
      {!! Form::open(['route'=> ['generatorindex'] , 'method' => 'post']) !!} 
       <input type="hidden" name="_token" value="{!! csrf_token() !!}"> 
       <input name="inputkeyword" type="text" placeholder="Enter your keyword"> 
       <button type="submit" value="Generate"></button> 
      {!! Form::close() !!} 

     </div> 
    </div> 
</body> 
+0

我應該使用類似'['generatorindex',$ inputkeyword-> inputkeyword]' –

+0

yes you可以..... –

+0

現在它說Undefined變量:inputkeyword –