Ciao! Mi sto studiando “The Rails way”, gran bel libro, lo consiglio.
Comunque, in questo libro si parla anche di come costruire classi-filtro
esterne.
Ora: dov’è il posto migliore per piazzare ste classi-filtro? Io ho
provato nel controller, prima della definizione dello stesso, e
funziona. Ma è il posto + giusto? Ad esempio ho notato che nel corpo del
filtro, il logger non funziona +.
Es. del codice contenuto in checkvars_controller.rb:
#classe-filtro
class TestFilter
def self.filter(controller)
#i logger non sono disponibili nei filtri esterni
controller.test_ext_filter
end
end
#controller
class CheckvarsController < ApplicationController
#esercizi sui filtri
before_filter :prima, TestFilter, :only => :instance_vars
after_filter :dopo
def instance_vars
@var1 = ‘luca’
end
def test_filter_condition
logger.info “no before filter”
end
#vedi TestFilter
def test_ext_filter
@ext_filter = ‘TestFilter’
end
#i filtri meglio farli privati
private
def prima
logger.info “eseguo prima”
end
def dopo
logger.info “eseguo dopo”
end
end