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