2011-06-25 7 views
3

:対RESOURCE_IDRailsのルーティング - :私のroutes.rbをのid

resources :posts do 
    get "test" 
end 

これは/post/:id/...と通常のRESTfulなルートを生成します。しかし、私は/post/:post_id/testも得ます。

私の問題は、パラメータの名前がidで、時には:post_idということがあります。どうすればそれを統一できますか?

ありがとうございました!

答えて

5

は指定:=>上:メンバー、それ以外の場合は、ネストされたリソースとして機能しています。

resources :posts do 
    get 'test', :on => :member 
end 
+0

ありがとう!私はそれがデフォルトでネストされたリソースであることを知らなかった。私は思った:on =>:メンバーは既にデフォルトだった:) – Denny

1

一律にしないでください。ターゲットリソースの場合は:id、その他のターゲットリソースの場合は:post_idです(ネストされたリソース)。これはRailsの規約です。

関連する問題