2012-04-17 10 views
0

私はkohanaの単純なリンクをループ内のビューの内側に追加しようとしています。ここでKohana 3.2 Route :: get

は私が持っているコードです:

echo HTML::anchor(Route::get('parent')->uri(array('id' => $parent->id)), HTML::chars($parent->email)) 

今これはルートへのリンクを返す

Route::get('parent')->uri(array('id' => $parent->id) 

が空の文字列を返すため。今

私は私のルートを変更する場合ならば::を取得:私は正しいリンクを取得

Route::get('parent')->uri(array(
         'controller' => 'parent' , 
         'action'  => 'index' , 
         'id'   => $parent->id)) 

質問:

Route::set('parent', '(<controller>(/<action>(/<id>)))') 
->defaults(array(
'controller' => 'parent', 
'action'  => 'index', 
)); 

そして、その:なぜKohanaのが私のブートストラップで私は、次のしていることを知って正しいリンクを取得することはできませんルートを::(「親」)を取得を返します:

: object(Route) = 
    _callback: undefined = NULL 
    _uri: string = "(<controller>(/<action>(/<id>)))" 
    _regex: array = 
    _defaults: array = 
    controller: string = "parent" 
    action: string = "index" 
    _route_regex: string = "#^(?:(?P<controller>[^/.,;?\\n]++)(?:/(?P<action>[^/.,;?\\n]++)(?:/(?P<id>[^/.,;?\\n]++))?)?)?\$#uD" 

答えて

1

コハナ3.2文書(http://kohanaframework.org/3.2/guide/api/Route#uri)Route::uri() method Generates a URI for the current route based on the parameters given.に起因する。したがって、これを動作させたい場合は、すべてのルートパラメータを定義する必要があります。

関連する問題