/ / Rails ignora la definición de mi filtro en ApplicationController - ruby-on-rails, filter

Rails ignora la definición de mi filtro en ApplicationController: ruby-on-rails, filter

En rails 2.3.8, estoy tratando de hacer que funcione un filtro before_filter básico. Funciona si hago estas cosas en controladores individuales, pero ahora quiero hacerlo en mi ApplicationController.

class ApplicationController < ActionController::Base

before_filter :hello

private

def hello
puts "HELLO!"
end

end

Espero que esto haga que se ejecute hola antes de ejecutar alguna de mis acciones de controlador, sin la necesidad de hacer referencia a los filtros en mis otras clases de controlador. Pero parece ignorarlo (nunca llamar "hola") ¿Por qué podría ser eso?

Respuestas

1 para la respuesta № 1

Todos los demás controladores deben heredar de ApplicationController, por ejemplo:

class MyOtherController < ApplicationController

Solo el ApplicationController debe heredar de ActionController :: Base

Rails estaba ignorando mi filtro anterior porque había declarado que mi otro controlador también heredaba de ActionController :: Base.

Al menos pensé que esto estaba claro, pero leer esto Guía general de Action Controller, da ejemplos (algunas veces) de otros controladores que heredan de ActionController :: Base. Eso es confuso. En cualquier caso, soluciona mi problema si siempre heredo de ActionController


0 para la respuesta № 2

Sé que esto no te ayudará, pero tu código es correcto y funciona cuando lo probé, aunque en Rails 3.