6

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

4

3 回答 3

9

最简单的方法是将脚本的 shebang 从:

#!/usr/bin/ruby

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

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

于 2008-12-02T21:18:58.303 回答
0

查看此线程: 如何运行使用我的 Rails 模型的 Ruby 任务?

从本质上讲,它归结为:

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

玩得开心!

于 2008-12-03T06:55:25.800 回答
0

我认为最好的方法是让它成为一个 rake 任务。

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

[:environment] 节加载 rails 环境。

于 2008-12-03T15:48:29.653 回答