Ruby on Rails: исправление Rack и его развертывание - PullRequest
2 голосов
/ 01 ноября 2010

Мне нужно пропатчить Rack с помощью следующего патча: http://github.com/rack/rack/commit/dae12e088592ee69545b5f2f81b87f4959859164

Как лучше всего это делать?Должен ли я распаковать драгоценный камень, применить патч, затем упаковать драгоценный камень и отправить его с capistrano, чтобы убедиться, что моя версия драгоценного камня попадает на конечный сервер?когда он загружается первым до общесистемного гема?

Я хочу пойти по пути наименьшего сопротивления и легко развернуть его во многих средах.

Ответы [ 3 ]

2 голосов
/ 01 ноября 2010

Вы можете установить гемы из репозитория, используя bundler, если используете его, добавив опцию в свой Gemfile:

gem 'rack',: git => 'git: // github.com / my-account / rack.git '

Это значительно упрощает исправление и развертывание исправленных драгоценных камней.Вставьте его в свою учетную запись, исправьте его и используйте вместо этого базу.

Rack - это не плагин, а самоцвет, поэтому он, вероятно, не будет работать должным образом, если установлен в vendor/plugins.

1 голос
/ 11 апреля 2011

Другие ответы, по-видимому, требуют Bundler / Rails 3. Так как я использую Rails 2.3.10 и систему config.gem старого стиля, они не работают для меня.

Я былсмог найти рабочее решение для этой же проблемы здесь .Автор включил фиксированный код из Rack 1.2 в патч monkey для стойки 1.1 , а затем загрузил файл патча через инициализатор.

1 голос
/ 02 ноября 2010

В качестве альтернативы, вместо указания на ваш git-репозиторий, вы можете загрузить Bundler из локальной файловой системы, например, подкаталога vendor/:

gem 'rack', :path => File.join(File.dirname(__FILE__), '/vendor/gems/rack')

Это позволяет вам выполнять отладку на лету, не выпуская и не нажимая изменения.

...