2012-01-08 1 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

Смежные вопросы