У мене є метод, який робить щось подібне:
before_filter :authenticate_rights, :only => [:show]
def authenticate_rights
project = Project.find(params[:id])
redirect_to signin_path unless project.hidden
end
Я також хочу використовувати цей метод у деяких інших контролерах, тому я скопіював метод у помічник, який входить до складу application_controller.
проблема в тому, що в деяких контролерах ідентифікатор проекту не є :id
символом, а fe :project_id
(а також :id
присутній (для іншої моделі)
Як би ви вирішили цю проблему? чи є можливість додати параметр до дії before_filter (передати правильний параметр)?
,:only => [:show]
символ? Я отримую помилку під час спробиbefore_filter { |c| c.authenticate_rights correct_id_here }, :only => [:show]