如果在脚本的文件夹中删除,则以下.rb
脚本运行正常:
db = YAML::load(File.open('db.yml'))
ActiveRecord::Base.establish_connection(db)
如果脚本在脚本文件夹外运行,则File.open
将失败。如何提供脚本到db.yml
的路径?谢谢!
答案 0 :(得分:9)
这应该有效:
db_file = File.join(File.dirname(__FILE__), "db.yml")
编辑:我对脚本文件夹有点困惑,现在应该可以了。
答案 1 :(得分:1)
如果您发现自己想要这样做,可以考虑将脚本的目录添加到加载路径中(特别是在1.9.2中,“。”不再位于加载路径中):
$: << File.expand_path(File.join(File.dirname(__FILE__)))