私のウェブサイトでは、ユーザーは 、 などを介してカテゴリにアクセスできますexample.com/category1
。example.com/category2
したがって、次のようにルート ルールを記述します。
match '/:category' => 'home#category', :constraints => ShowCategory.new
ShowCategory は、ユーザーがアクセスしたカテゴリが存在することを確認するクラスです。同時に、ユーザーは自分の個人ドメイン名を指定できます。その後、ユーザーのプロファイル ページに のような URL を介してアクセスできますexample.com/peter
。したがって、別のルート ルールがあります。
match '/:user_domain' => 'Profiles#show'
:constraints
for カテゴリ ルートを使用しているため、ルートは競合しませんでした。ただし、アクションでは、 ではなく、Profiles#show
常にパラメーターを取得します。{'category' => 'peter'}
{'user_domain' => 'peter'}
パラメータ名を修正するにはどうすればよいですか? category
プロファイル コントローラーで名前が付けられたパラメーターは必要ありません。
ありがとう。