Ruby on rails Rails脚本访问模型

Ruby on rails Rails脚本访问模型,ruby-on-rails,database,model,Ruby On Rails,Database,Model,我需要一个脚本才能访问我的模型。我发现了一篇关于这方面的帖子,建议你这样做 require "#{ENV['RAILS.root']}/config/environment.rb" 在我的脚本的顶部。然后我可以运行ruby script/my_script.rb来运行它。但这给了我一个错误 /Users/my_name/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `r

我需要一个脚本才能访问我的模型。我发现了一篇关于这方面的帖子,建议你这样做

require "#{ENV['RAILS.root']}/config/environment.rb"
在我的脚本的顶部。然后我可以运行ruby script/my_script.rb来运行它。但这给了我一个错误

/Users/my_name/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- /config/environment.rb (LoadError)

我做错了什么

我认为
ENV['RAILS.root']
将在加载环境后设置。你可以试试

require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
然而,一个更常用的习惯用法是编写Rake任务。例如,创建一个名为
lib/tasks/mytask.rake的文件:

task :mytask => :environment do
  # Do something with your model
end

然后执行
rake mytask
environment
任务将自动加载Rails环境

我找到了自己的答案。忘了我说的要包含在顶部的内容。换成这个

ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development'
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")