奇怪的行为 - irb和rails console

时间:2012-12-04 12:29:29

标签: ruby-on-rails rails-console

irb 首先提供 true ,然后 false 总是提供命令 require rails

rails控制台始终提供 false

这是怎么回事?

请参阅下面的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 个答案:

答案 0 :(得分:2)

要求返回false当您尝试要求的内容已经加载时 - 第一次require 'rails',它未加载,并且要求返回true。 第二次require 'rails'时,它已经加载并且需要返回false。

Rails始终在rails控制台中加载。

答案 1 :(得分:1)

检查require的文档,它说明

  

加载给定名称,如果成功则返回true,如果已加载该功能则返回false。

因此,第一次在irb中调用require时,它会加载并返回true。第二次它已经加载,所以它返回false。

当您致电rails c时,它会将irb加载到您的rails环境中,因此它必须已经需要rails