Версия для Ruby on Rails Gem или Plugin Rails

Я работаю над приложением rails 2.3.4, которое пытаюсь портировать для работы с IIS и Helicon Zoo. Проблема, с которой я сталкиваюсь, является исключением:

c:\Zoo\Workers\ruby\lib\app.rb

где в строке ~32 возникает следующее исключение:

 STDERR
[tid-21079944] Only Rails 2.3.x and Rails 3.x are currently supported. (RuntimeError)    
C:/Zoo/Workers/ruby/lib/app.rb:33:in `build_app' 
C:/Zoo/Workers/ruby/lib/app.rb:16:in `initialize' 
C:/Zoo/Workers/ruby/lib/worker.rb:4:in `new' 
C:/Zoo/Workers/ruby/lib/worker.rb:4:in `initialize' 
C:/Zoo/Workers/ruby/zoorack.rb:30:in `new' 
C:/Zoo/Workers/ruby/zoorack.rb:30

Это озадачивает для меня, поскольку версия rails, на которой это приложение работало ранее, была 2.3.4. Рабочая гипотеза, которую я использую, заключается в том, что Rails каким-то образом может запускать плагины в устаревшем режиме? Имеет ли это смысл? Я думаю, что Helicon Zoo не поддерживает откат в этом устаревшем режиме до 2.3.4.

Я немного взломал файл app.rb, чтобы получить версию rails.

Вызов: Rails.version.to_s Я получаю: 2.2.2

Поиск в кодовой базе для "2.2.2" Я вижу, что этот проект зависит от версии lib.2 actionpack lib.

Кроме того, версии плагинов rails обычно следуют версии 'rails', от которой они зависят? Можно ли запускать плагины, которые зависят от более старой версии rails, чем та, с которой они работают?

1 ответ

Решение

Проблема здесь заключалась в том, что я установил rails 2.3.4 с gem, но скопировал версию rails 2.2.2 с проектом в корневой корневой каталог Helicon Zoo. Пакет actionpack является частью рельсов. Я думал, что это была отдельная библиотека.

Другие вопросы по тегам