Ruby独立脚本中的RoR环境

时间:2008-12-02 21:08:30

标签: ruby-on-rails ruby environment

我想运行一个独立的ruby脚本,我需要使用我的RoR环境。具体来说,我需要扩展ActionMailer和ActiveRecord的模型。我还需要从database.yml中读取数据库配置。 我该怎么做呢?

3 个答案:

答案 0 :(得分:9)

最简单的方法是更改​​脚本的shebang:

#!/usr/bin/ruby

#!/path/to/your/rails/script/runner

Etvoilà,您的脚本将在加载完整的rails环境的情况下运行。您还可以将脚本作为./my_script -e production运行,以使其与生产数据库一起运行。

答案 1 :(得分:0)

查看此主题: How do I run Ruby tasks that use my Rails models?

基本上归结为:

require "#{ENV['RAILS_ROOT']}/config/environment.rb"

玩得开心!

答案 2 :(得分:0)

我认为最好的办法是让它成为一项佣金任务。

   # lib/tasks/mystuff.rake
   desc 'do my stuff'
   task :my_stuff => [:environment] do
     # do my stuff
   end

[:environment]节加载rails环境。