restful rails before_action application after_action ruby-on-rails actioncontroller

ruby-on-rails - before_action - ruby on rails restful



Rails ActionController ejecuta el mismo código para cada acción (3)

Me suena como si estuvieras hablando de filters .

class MyController < ActionController::Base before_filter :execute_this_for_every_action def index @foo = @bar end def new @foo = @bar.to_s end def execute_this_for_every_action @bar = :baz end end

También puede colocar el filtro en ApplicationController, si desea que todos los controladores lo ejecuten.

Para los expertos en rieles por ahí me preguntaba dónde y cómo ejecutarías el mismo código para cada acción en tu aplicación web. Si me puede señalar un artículo o proporcionar un fragmento de código corto, se lo agradecería enormemente.

Gracias de antemano a cualquier persona que pueda ayudar.


Use un filtro en su ApplicationController para ejecutar el código para cada acción en su aplicación. Todos los controladores descienden de ApplicationController, por lo que colocar el filtro allí asegurará que el filtro se ejecute.

class ApplicationController before_filter :verify_security_token def verify_security_token; puts "Run"; end; end


  • before_filter si desea que el código se ejecute "antes" de cada acción.

  • Si desea que la acción se declare cada vez que la use, puede ponerla en ApplicationController y llamar al método en cualquier controlador.

Otro enfoque es usar ayudantes como:

module PersonHelper def eat {.. some code ..} end end

Y en tu mando:

class MyController < ActionController::Base include PersonHelper def index eat end end