我必须运行此脚本:/scripts/saveData.rb
在其中,我需要使用我的Rails应用程序的ActiveRecord
。
我尝试调用Class
,但收到错误"uninitialized constant (NameError)"
。
如何从saveData.rb
脚本中获取对Rails类的引用?
Rails 3.1
更新:我如何调用模型的方法?我的模型是:“程序”(也是活动记录)。我试过“Program.method”,但它不起作用,为什么?
答案 0 :(得分:8)
您使用的是哪个版本的导轨?
如果你使用的是Rails 3,你可以在Rails运行器中运行你的代码:
http://guides.rubyonrails.org/command_line.html#rails-runner
$ rails runner script/saveData.rb
如果您使用的是Rails 2,请尝试以下方法:
$ script/runner script/saveData.rb
答案 1 :(得分:1)
使用rails runner。
除此之外,你可以创建一个rake任务,或者只是从rails控制台加载文件。
答案 2 :(得分:1)
您可以在脚本顶部尝试require
Rails环境:
require File.expand_path(File.join(File.dirname(__FILE__), 'config', 'environment'))
但是,您应该考虑使用rake任务。