質問
私はKohana v3をWebプロジェクトに使用していますが、今日私はこれを書いていることに気付きました:
echo Html::anchor('user/view/'.$user->id, "See user's profile");
ユーザーコントローラーで action_view
メソッドの名前を変更すると、リンクが壊れます。これを避けるために、ユーザーのプロファイルを表示するために使用されるURLを返すUserモデルの関数を作成しました。
echo Html::anchor($user->url_view(), "See user's profile");
これを行う別の(よりクリーンな)方法があります(Djangoの url()
および {%url%}
と同様)?
PS:英語をすみません。
解決
はい、ルート名を使用した逆ルーティングが必要です。次のようなものを試してください:
echo Html::anchor(
Route::get('your_route_name')->uri(array('id'=>$user->id)),
"See user's profile"
);
他のヒント
必要なものは逆ルーティングと呼ばれます。ルート「名前」があります(最終的にパラメータを使用)、モジュール/アクションペアまたはwhatever / pathに関連付けます。
その後、直接のコントローラー/アクションパスの代わりにこのルート名を使用して、将来のアクションの名前を好きなように変更できるようにします。
ここに説明するページがありますこれ。 kohana 2.xではリバースルーティングがサポートされていないことに注意してください(したがって、2.3を指すときは本当に3.xを意味します)
所属していません StackOverflow