2011-08-04 10 views
2

ルート上でユーザ名を設定してから、コントローラの 'profile'と 'show'の動作を行う正しい方法は何ですか? facebookのやり方と同じように:http://www.facebook.com/usernameGrails - ルート上のユーザ名

... URLの最初の部分がユーザー名でない場合は、標準のルートメカニズムを実行します。

"/$controller/$action?/$id?"{ 
    constraints { 
     // apply constraints here 
    } 
} 

答えて

2

このように設定すると効果があります。 namedControllerを実際に持っているコントローラに複製/名前を変更します。この例の "namedController"という名前のユーザーは、動的ではないトークンの一致( "/"の間のもの)がより強い優先順位として表示されることはありません。

(そして、芋、また、論理的な考え方である。)

"/namedController/$action?/$id?" (controller:"namedController") 
"/$username" (controller:"profile", action:"show") 
+0

だから、限り、私は最初にすべての私のコントローラに名前を付けるように私は大丈夫でなければなりませんか? – BuddyJoe

+0

正しいが、彼らは「最初」である必要はない。新しいドキュメントでは、優先ルールが非常に優れているとは書かれていませんが、[link](http://beta.grails.org/URL+mapping)を見てみると、いくぶん説明されています。 –

+0

私はその文書を見ていました。 g:linkはユーザーページにアクセスできますか? +1 – BuddyJoe

関連する問題