Como ejecutar acciones de un controlador desde la consola de rails

EnglishFrenchGermanItalianPortugueseRussianSpanish

Powered by GTranslate - multilingual website solutions.

Esta debe ser una de las miles de cosas que se pueden hacer con rails y no están demasiado documentadas. La gente que estamos acostumbrados a la potencia de la shell de linux no podemos dejar de usarla de un día para otro o no incluirla en la arquitectura de nuestros proyectos.

Para los proyectos de geolocalización tengo varias acciones que son largas y tediosas y que no tiene ningún sentido que las ejecute como una página web con wget. Aquí es donde rails te permite hacerlo de varias formas: consola, runner o una tarea rake. Solo me voy a centrar en como hacerlo con la consola pero es muy fácil hacerlo para los otros dos métodos en cuanto veáis como se hace para consola.
Básicamente estos son los cuatro pasos:

* inicializar la consola:

script/console

* carga esta librería

require ‘action_controller/integration’

* crear una session:

app = ActionController::Integration::Session.new;
* llamar a la acción/método:
app.get('controlador/accion')
y ya está. Si quieres que te devuelva cual es la salida html solo tienes que poner:
puts app.html_document.root.to_s

Social Share Counters

Leave a Comment