4

私の Rails アプリでは、ユーザーは 1 つのレジストリを作成でき、URL は次のようになります。

http://localhost:3000/registries/3

たとえば、そのURLを次のようにするにはどうすればよいですか。

http://localhost:3000/erinwalker

前もって感謝します。

4

2 に答える 2

4

これを行う最も簡単な方法は、routes.rb ファイルの下部に新しいルートを作成することです。

match "/:username" => "registries#show"

これは、routes.rb ファイルの最後に置くことが重要です。これは、その前のルートと一致しない "/whatever" 形式のルートと一致するためです。

これは、レジストリ コントローラの show アクションを指します。したがって、そのアクション内でできることは

@user = User.find_by_username params[:username]
@registry = @user.registry
于 2012-06-14T19:54:18.303 に答える
1

Friendly_id gemとその他のslugging gem は、IMO で最も簡単な方法です。

(そして、ここにFriendly_id レールキャストがあります。 )

とはいえ、正当なスラッグ値を受け入れてリダイレクトしたり、自分で調べたりするルートを作成するのは簡単です。

于 2012-06-14T19:31:27.920 に答える