Forum: Rails-ES Cargar el environment de Rails en una tarea

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
76560fb75633074a8928c91374499f3d?d=identicon&s=25 Daniel Hernández (Guest)
on 2007-06-20 21:58
(Received via mailing list)
Hola,
estoy intentando de ejecutar un script para el cual necesito acceder al
environment de la aplicación. Hasta el momento las formas que conozco
son:

$ script/runner -e my_environment my_script

$ script/console my_environment < my_script

Sin embargo ninguna de las dos me parece muy elegante a la hora de
querer que estos scripts estén realmente incluidos dentro de tareas con
dependencias.

La idea es por ejemplo tener un rakefile:

namespace :example do

  task :insert_cats do
    Cat.new(:name => 'Tom').save
    Cat.new(:name => 'Felix').save
    Cat.new(:name => 'Garfield').save
  end

end

¿Cómo puedo incluir el environment de rails?

Saludos,
Daniel H.
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (Guest)
on 2007-06-20 22:03
(Received via mailing list)
On Jun 20, 2007, at 9:56 PM, Daniel Hernández wrote:

> Sin embargo ninguna de las dos me parece muy elegante a la hora de
>     Cat.new(:name => 'Felix').save
>     Cat.new(:name => 'Garfield').save
>   end
>
> end
>
> ¿Cómo puedo incluir el environment de rails?

Pon la tarea :environment como dependencia:

   task :insert_cats => :environment do
     ...
   end

-- fxn
C1ddce6691ca0631671c243fa038cbbd?d=identicon&s=25 Moises Deniz (railsgeek)
on 2007-06-29 10:33
> La idea es por ejemplo tener un rakefile:
>
> namespace :example do
>
>   task :insert_cats do
>     Cat.new(:name => 'Tom').save
>     Cat.new(:name => 'Felix').save
>     Cat.new(:name => 'Garfield').save
>   end
>
> end
>
> ¿Cómo puedo incluir el environment de rails?

En el Rakefile que te genera el rails vienen las siguientes líneas:
---------------------

require(File.join(File.dirname(__FILE__), 'config', 'boot'))

require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'

require 'tasks/rails'

---------------------

Así que copialas al principio y ya tienes rails cargado... lo que para
escoger un enviroment u otro puedes poner la línea:

ENV['RAILS_ENV'] = 'my_environment'

antes del primer require.
This topic is locked and can not be replied to.