versiones rails instalar actualizar ruby-on-rails ruby ruby-on-rails-3

ruby on rails - instalar - ¿Cómo ejecuto un archivo Ruby en un entorno de Rails?



instalar ruby on rails en windows 10 (4)

Quiero ejecutar un archivo Ruby en el contexto de un entorno de Rails. Rails Runner casi hace lo que quiero hacer, pero me gustaría simplemente darle el nombre y los argumentos del archivo. Estoy bastante seguro de que esto es posible ya que lo he hecho antes. ¿Alguien me puede recordar cómo hacer esto?


Esta es una vieja pregunta, pero en mi opinión a menudo me resulta útil crear una tarea de rake ... y en realidad es muy fácil.

En lib/tasks/example.rake :

namespace :example do desc "Sample description you''d see if you ran: ''rake --tasks'' in the terminal" task create_user: :environment do User.create! first_name: "Foo", last_name: "Bar" end

Y luego en la carrera terminal:

rake example:create_user

Localmente, esto se ejecutará en el contexto de su base de datos de desarrollo, y si se ejecuta en Heroku, se ejecutará mientras esté conectado a su base de datos de producción. Encuentro esto especialmente útil para ayudar con migraciones o tablas modificadas.


Simplemente requiere environment.rb en su script. Si su script está ubicado en el directorio de script de su aplicación Rails, haga

require File.expand_path(''../../config/environment'', __FILE__)

Puede controlar el entorno utilizado (desarrollo / prueba / producción) configurando la variable de entorno RAILS_ENV al ejecutar el script.

RAILS_ENV=production ruby script/test.rb


http://guides.rubyonrails.org/command_line.html#rails-runner ejecuta código de Ruby en el contexto de Rails de forma no interactiva.

Desde el comando rails runner :

Usage: runner [options] (''Some.ruby(code)'' or a filename) -e, --environment=name Specifies the environment for the runner to operate under (test/development/production). Default: development -h, --help Show this help message.

También puedes usar runner como una línea shebang para tus scripts como este:

------------------------------------------------------------- #!/usr/bin/env /Users/me/rails_project/script/rails runner Product.all.each { |p| p.price *= 2 ; p.save! } -------------------------------------------------------------