Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在基于 Rails 版本的 gem 中管理条件流的正确方法是什么?
Rails 4 改变了一些东西,所以我需要基于 Rails 主要版本是 4 vs. 3 或之前有条件地流动。
我最接近的是:
if Rails.version.split(".").first.to_i < 4 # Do the Rails 4 thing else # Do it the old way end
RailsRails::VERSION为各种补丁级别定义了常量:MAJOR、MINOR和TINY(PRE如果适用)。版本字符串由这些整数构成,您可以直接使用它们:
Rails::VERSION
MAJOR
MINOR
TINY
PRE
if Rails::VERSION::MAJOR >= 4 # Do the new thing else # Do it the old way end
这些至少可以追溯到Rails 2.0.x ,因此它们应该可以安全地用于您的 gem 允许的依赖规范。
个人觉得Rails.version =~ /^4/读起来好很多。
Rails.version =~ /^4/