2011-09-01 23 views
5

私はdb内に2つのレコードを持つページコントローラを持っています。 'ページ'と '連絡先'。 各ページレコードのIDはタイトルです。 ページごとに特定のルートを作成するにはどうすればよいですか?特定のIDへの経路

私は現在、私が持っているので、私はおそらくあなたの質問を理解していない...働くキャッチすべてのルートを持っている

match '/:id' => 'pages#show' 

が、私はそれぞれのページ

答えて

8

のための単一のルートを作成したいですあなたがそれをやりたがっている理由がわからない)

とにかく、タイトル/ ID「約」とは何かページがあるとします。あなたのルートは次のようになります。

cf. http://guides.rubyonrails.org/routing.html#defining-defaults

注:私はすでに "キャッチオール"を使用しているルートとは言わないでしょう。それはかなり普通のRailsルートです。

match ':controller(/:action(/:id))' 
+0

私はパスヘルパーを持つことができるように指定したいので、 '/ about' => 'pages#show'、:defaults => { :id => 'about'}、:as =>:約 –

+1

Gotcha。多分あなたはすでにこれを考慮していたかもしれませんが、コードを繰り返さないようにするために、元のルートに行き、 ':as =>:page'を追加し、パスヘルパー' page_path(:id => 'about') 'を使います。 –

関連する問題