我正在开发一个 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”,我发现该项目依赖于 actionpack lib 版本 2.2.2。
此外,rails 插件版本通常遵循它们所依赖的“rails”版本吗?是否可以运行依赖于旧“rails”版本的插件而不是它们运行的插件?