1

みんな、おはよう!..

一般的なルーティングの質問 ここでは... 現在、アプリケーション内のユーザーに対してこれと同様のルートを実現するために取り組んでいます。

http://www.example.com/ユーザー名

これは usersControllers#show にマップされるため、routes ファイルに次のように記述します。

map.connect '/:permalink', :controllers => "users", :action => "show"

次に、パラメーターのパーマリンクでユーザーを見つけるための show アクションを取得しました。だからその作品ですが....

私が直面している問題は、他のすべての UNDEFINED ルートが userController#show に送信されることです。つまり、404 とその他の名前のないルートです。したがって、これに適した規則を使用しているとは思いません。私の解決策は、この上に他の名前付きルートを追加することです。これで問題は解決しますが、私には脆弱に思えます。私はこれについて間違って考えていますか?

より良い解決策は何ですか? 私は答えを求めてグーグルを掘り起こすつもりですが、私はこれを議論のために投げたいと思いました. アイデア?

4

2 に答える 2

1

あなたはそれを正しくやっています。Railsルートは、優先度の高いものから優先度の低いものへと変化します。ユーザーは、アクションを一番下に表示する必要があります。パーマリンクがユーザーに対応していない場合は、適切な404が生成されることを確認してください。

于 2009-06-26T14:45:52.887 に答える
1

ユーザー名がサイトの他の URL と同じユーザーを獲得した場合はどうなるでしょうか。これは、起こるのを待っているトラブルのようです。

http://www.example.com/user/usernameに変更するだけです

このようにして、すべてのユーザー名ベースの URL に対して「ユーザー」名前空間を作成します。

于 2009-06-27T02:15:20.910 に答える