如何在ruby脚本的同一文件夹中打开文件?

时间:2010-08-24 09:26:10

标签: ruby

如果在脚本的文件夹中删除,则以下.rb脚本运行正常:

  db = YAML::load(File.open('db.yml'))
  ActiveRecord::Base.establish_connection(db)

如果脚本在脚本文件夹外运行,则File.open将失败。如何提供脚本到db.yml的路径?谢谢!

2 个答案:

答案 0 :(得分:9)

这应该有效:

db_file = File.join(File.dirname(__FILE__), "db.yml")

编辑:我对脚本文件夹有点困惑,现在应该可以了。

答案 1 :(得分:1)

如果您发现自己想要这样做,可以考虑将脚本的目录添加到加载路径中(特别是在1.9.2中,“。”不再位于加载路径中):

$: << File.expand_path(File.join(File.dirname(__FILE__)))