テーブル 'categories' と category_name などのフィールドを持つ足場 'Category' があります。現在、私のホームページでは、すべてのレコードを表示しています。特定のカテゴリの「表示」をクリックすると、URL は次のようになります -> " http://www.abc.com/categories/1 " ここで、1 は ID です。ここでは、「categories/1」ではなく、「http://www.abc.com/# {category_name}」という形式の URL が必要です。フレンドリ ID を使用していますが、URL は " http://www.abc.com/categories/# {category_name}" のようになります。URLからコントローラ名とIDを非表示にして、カテゴリ名のみを表示したい
1 に答える
3
次のようなものを追加できます
match '/:path' => 'categories#show', as: :category
あなたのルートで。これはルートの最後に配置する必要があることに注意してください。これにより、すべてのコントローラーのインデックス アクションと一致するため、優先度が最も低くなります。のように使う
category_path(category_name)
または
"/#{category_name}"
as: :category
オプションを追加することによって生成された named_route と競合しないように、show アクションへの show マッピングを削除する必要がある場合もあります。
resources :categories, except: [:show]
于 2013-03-06T07:27:57.193 に答える