【问题标题】:Ruby on Rails: patching Rack and deploying itRuby on Rails:修补 Rack 并部署它
【发布时间】:2010-11-01 15:14:35
【问题描述】:
【问题讨论】:
标签:
ruby-on-rails
ruby
rack
【解决方案1】:
如果您正在使用 bundler,则可以通过在 Gemfile 中添加一个选项来从存储库中安装 gem:
gem 'rack', :git => 'git://github.com/my-account/rack.git'
这使得修补和部署已修补的 gem 变得更加容易。将其分叉到您的帐户,对其进行修补,然后使用该基础。
Rack 不是插件,它是 gem,所以如果安装在 vendor/plugins 中,它可能无法正常工作。
【解决方案2】:
或者,您可以从本地文件系统(例如vendor/ 子目录)加载 Bundler,而不是指向您的 git 存储库:
gem 'rack', :path => File.join(File.dirname(__FILE__), '/vendor/gems/rack')
这使您可以即时调试,而无需 git pull / push 您的更改。
【解决方案3】:
其他答案似乎需要 Bundler/Rails 3。由于我使用的是 Rails 2.3.10 和旧式 Rails config.gem 系统,它们对我不起作用。
我能够为同样的问题找到一个可行的解决方案here。作者将 Rack 1.2 中的固定代码包含在 monkey patch for rack 1.1 中,然后通过初始化程序加载补丁文件。