2012-01-08 12 views
1

this questionに続いて、新しいレールの動作を無効にする方法があるかどうかを知りたいと思います。私は、忘れられたビューでセキュリティ問題にぶつかります。私のコントローラにアクションが定義されていなくても、それは突然表示されました。 Railsがこれらの定義されていないアクションをレンダリングするのをやめ、その後は未使用のビューを消去する方が良いと思います。コントローラで定義されていないアクションのレンダリングをRailsで停止することはできますか?

答えて

2

そのコントローラのルートを変更して、それらのアクションにルーティングしないようにします。

resources :users, :except => [:index, :destroy] 
resources :sessions, :only => [:new, :create, :destroy] 

これらのルートは、ビューが存在してもルーティング不可能になり、必要に応じてビューを処理できます。

+0

ありがとうございます!これは実際の回避策ですが、大きなプロジェクトのすべてのルートを確認することはまともな仕事である可能性があります。私はこの動作が設定で切り替えることができるかどうか疑問に思っていた... – dgilperez

+0

@dgilperez、十分に公正。残念ながら、私はその袖の上にその答えを持っていません。それと幸運。 – nmott

+0

ちょうど古い質問をチェックして、私はこれが行く方法だったと思った。答えは、決して遅くないよりも早く:) – dgilperez

関連する問題