繁体   English   中英

Rails:我的应用程序如何判断它是在MRI还是JRuby中运行?

[英]Rails: How can my app tell if it is running in MRI or JRuby?

之前的一个问题中 ,我问过如何告诉我的Gemfile是否采用JRuby相关的宝石或MRI相关的宝石。 我得到的答案是在Gemfile中执行以下操作:

platforms :jruby do
  gem "activerecord-jdbcsqlite3-adapter"
end

platforms :mri do
  gem "sqlite3"
end

显然,Bundler中的platforms()方法知道如何判断我是在运行MRI还是JRuby。 如果我正在运行JRuby或MRI,我可以在我的程序中告诉另一种方式吗?

你能够像这样区分这两者:

case (RUBY_ENGINE)
when 'ruby'
  # ...
when 'jruby'
  # ...
end

你可以写一个方法给你一个jruby? 方法如果需要:

def jruby?
  RUBY_ENGINE == 'jruby'
end

使用Ruby 2.2.3 Config::CONFIG给我NameError: uninitialized constant Config ,但是以下工作:

y RbConfig::CONFIG

暂无
暂无

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

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