基于Rails版本管理gem中条件流的正确方法是什么?
Rails 4改变了一些事情,所以我需要根据Rails主要版本为4对3或之前的条件流动。
我最接近的是:
if Rails.version.split(".").first.to_i < 4
# Do the Rails 4 thing
else
# Do it the old way
end
答案 0 :(得分:18)
Rails为Rails::VERSION
下的各种补丁级别定义常量:MAJOR
,MINOR
,TINY
和PRE
(如果适用)。版本字符串为constructed from these integers,您可以直接使用它们:
if Rails::VERSION::MAJOR >= 4
# Do the new thing
else
# Do it the old way
end
这些返回to at least Rails 2.0.x所以它们应该可以安全地用于你的宝石允许的依赖规范。
答案 1 :(得分:0)
就个人而言,我认为Rails.version =~ /^4/
读得更好。