【问题标题】:Get path of Gemfile when Rails loading my gem via bundlerRails 通过捆绑程序加载我的 gem 时获取 Gemfile 的路径
【发布时间】:2013-01-18 19:08:12
【问题描述】:

我已经构建了一个小型 Rails 开发工具包,其中包含开发依赖项、生成器和供我个人使用的东西。我希望能够在加载 gem 时配置一些东西。对于像 pry-rails 这样的 gem,初始化器执行得太晚了。

所以在项目根目录中使用配置文件会很酷。虽然 Rails 是在我的 gem 加载时定义的,但 Rails.root 返回 nil。如何获得项目根目录?它可以是骇人听闻的东西,它只适用于某些人。

这是我的“初始化程序”,在绝对解决一个项目的配置时效果很好:

class MyDevkit < MonkeyDevkit
  # =======
  # = Pry =
  # =======
  # disable pry components completely
  #disable :pry

  # do not make pry rails default console
  #disable :pry, :console

  # ========
  # = Mail =
  # ========
  # disable mail components completely
  #disable :mail

  # disable letter opener
  #disable :mail, :letter_opener

  # ========
  # = Misc =
  # ========
  #disable :rack_profiler
  #disable :better_errors
  #disable :quiet_assets

  # comment to (temporary) disable the devkit completely
  kitify!
end

【问题讨论】:

标签: ruby-on-rails ruby ruby-on-rails-3 gem


【解决方案1】:

您可以尝试使用Dir.getwd 获取当前工作目录吗(注意:当前工作目录并不意味着您的gem 的目录。它是调用ruby 可执行文件的目录),这应该与您从Rails 获得的相同.root(除非某些 gem 更改了工作目录)

【讨论】:

  • 酷,这似乎有效!让我们看看是否有人能打败它;-)
  • @2called-chaos 所以你想知道如何以另一种方式做到这一点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多