2012-03-21 30 views
0

我的導軌2.3.4和rails 2.3.14 gem在我的gem目錄中。創建項目在environment.rb中設置導軌版本時出現奇怪的行爲

rails _2.3.4_ foo 

將行:

RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION 

if true 
    RAILS_GEM_VERSION = '2.3.4' 
else 
    RAILS_GEM_VERSION = "2.3.14" 
end 

現在,當我運行控制檯,我得到:

Loading development environment (Rails 2.3.14) 

但如果類型:

>> Rails.version 
=> "2.3.4" 

不過,現在我只是添加註釋:

if true 
    RAILS_GEM_VERSION = '2.3.4' 
    # comment 
else 
    RAILS_GEM_VERSION = '2.3.14' 
end 

,我啓動控制檯,並獲得:

Loading development environment (Rails 2.3.4) 
Rails version = 2.3.4 

需要注意的是,現在它指向2.3.4在「加載「線。似乎真的很奇怪,評論會影響到這一點。

回答

0

確定要使用哪個版本的rails的rails自舉代碼實際上並不會執行您的environment.rb - 它讀入該文件並嘗試提取您設置爲RAILS_GEM_VERSION的內容。該代碼容易被條件等混淆。

如果你想要精確控制使用什麼版本的gem,我建議使用bundler。

相關問題