現在、routes.rbにこれがあります
match '/:username' => 'profiles#show', :as => :public_profile
ここで、この形式を使用し、別のパラメーターを追加して、別のルートに別の一致を作成します。これを説明する方法はわかりませんが、例を挙げましょう。上記の一致で:
http://example.com/foo_username
これはfoo_usernameのプロファイルに接続します。今、私はこのようなURLが欲しいです:
http://example.com/foo_username/5-my-story
このリンクは、ID(スラッグ)として5-my-storyを使用してstories#showアクションに移動する必要があります。このストーリーは、パスで指定されたユーザー名によって所有されます。ルートでそれを構成するにはどうすればよいですか?私はこれを試しました:
match '/:username/:id' => 'stories#show', :as => public_story
それは機能しますが、ユーザー名のパラメーターを変更すると、それでもストーリーに移動します。ユーザー名がストーリーを所有していないため、見つからないルートを返す必要があります。
これを最もよく実装するにはどうすればよいですか?