ant*_*paw 3 ruby gem ruby-on-rails file
我想读从我包括在Rails引擎创业板.yml文件main_app.该文件位于config/test.yml.
IO.read("config/test.yml") 失败了 No such file or directory @ rb_sysopen
如果我将文件移动到主应用程序,一切正常.但是我需要宝石中的这个文件.
解决方案1
您可以将根路径存储在主gem文件的常量中,并在代码的其他位置检索它.您必须确保在应用程序中的代码运行之前初始化gem,否则您将遇到错误,因为不会定义常量.
# lib/my_gem.rb
GEM_ROOT = File.expand_path("../..", __FILE__)
# app/.../some_class.rb
IO.read("#{GEM_ROOT}/config/test.yml")
Run Code Online (Sandbox Code Playgroud)
解决方案2
最可取的是,您可以通过编程方式获取gem路径Bundler,然后使用该根路径检索yml文件的完整路径.
看看这个答案,你可以很容易地适应你的情况
| 归档时间: |
|
| 查看次数: |
2018 次 |
| 最近记录: |