2012-12-04 42 views
1

IRB是給在第一個真正的然後總是命令需要軌道奇怪的行爲 - IRB和軌道控制檯

導軌控制檯正在給總是。

這是怎麼回事?

請參考下面CMD-

~/Workspaces/eclipse/image_cropper_ws/image_cropper$ irb 

1.9.2-p180 :001 > require 'rails' 
=> true 
1.9.2-p180 :002 > require 'rails' 
=> false 
1.9.2-p180 :003 > exit 



~/Workspaces/eclipse/image_cropper_ws/image_cropper$ rails console 
Loading development environment (Rails 3.2.8) 

1.9.2-p180 :001 > require 'rails' 
=> false 
1.9.2-p180 :002 > require 'rails' 
=> false 

回答

2

要求的回報false當你想要求什麼已經加載 - 你第一次require 'rails',這不是裝,並要求返回true。
第二次你require 'rails',它已經加載,並要求返回false。

Rails始終裝載在導軌控制檯中。

+0

哦,我認爲只有在成功地要求我們的項目的導軌否則爲false的情況下,require命令纔會賦予true。重點是它正在寫入它的時刻根據加載返回。 –

1

檢查文檔爲require,它指出

加載一個給定的名稱,如果該功能已經被加載返回true,如果成功的和虛假的。

因此,您第一次在irb中調用require時,它會加載並返回true。第二次它已經被加載,所以它返回false。

當你調用rails c加載IRB與Rails環境,所以必須已經要求rails