繁体   English   中英

如何将ruby gem的代码包含到主rails项目中?

[英]How do I include a ruby gem's code into main rails project?

假设我需要在rails项目中更改我需要的某个ruby gem的功能。 我想将ruby gem的所有内容放在主项目中。

这可能吗? 有替代方法吗?

谢谢

你可以通过“monkeypatching”具体方法来做到这一点。 要执行此操作,您需要创建一个覆盖您要修改的方法的初始化程序。 例如,创建config/initializers/monkeypatch.rb并覆盖该方法:

class String
  def inspect
    puts "Im monkeypatched!"
  end
end

然后,当您创建一个字符串并调用inspect时,您将看到该方法已被修补。 另外你应该小心使用monkeypatching因为它可能有一些不必要的副作用,特别是当你修补非常基本的类,如String或Fixnum类。

另一种选择是fork你正在编写的gem,更新它并保存在你的存储库中,然后在你的Gemfile中引用它。

当然你可以复制这个gem的整个来源并把它放在app里面的专用文件夹中(lib / folder_for_your_gem)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM