¿Es posible enviar variables en la transición? es decirPasar variables a Rails StateMachine gem transitions
@car.crash!(:crashed_by => current_user)
tengo devoluciones de llamada en mi modelo, pero tengo que enviarles el usuario que promovió la transición
after_crash do |car, transition|
# Log the car crashers name
end
No puedo acceder a current_user porque estoy en el modelo y no el controlador /Ver.
Y antes de decirlo ... Sé que lo sé.
No trate de acceder a las variables de sesión en el modelo
lo entiendo.
Sin embargo, siempre que desee crear una devolución de llamada que registre o audite algo, entonces es muy probable que quiera saber quién lo causó. Normalmente tendría algo en mi controlador que hizo algo así como ...
@foo.some_method(current_user)
y mi modelo de Foo estaría esperando algún usuario para instigar some_method pero ¿cómo puedo hacer esto con una transición con la gema StateMachine?
Por coincidencia terminé tropezando con mi propia pregunta de nuevo en una búsqueda en Google y esta respuesta fue muy útil. Gracias. –
Creo que esto es definitivamente mejor que User.current que veo que otros implementan cuando se encuentran con este tipo de problema. La interacción del usuario pertenece a la capa del controlador. –
Esto funciona bien, pero * do * tiene que deletrear la transición correctamente. La solución anterior tiene un extra 's'. – Brenda