【问题标题】:strange behaviour - irb and rails console奇怪的行为 - irb 和 rails 控制台
【发布时间】:2012-12-04 12:29:28
【问题描述】:

irb 首先给出 true,然后始终为命令 require rails 给出 false。。 p>

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 

【问题讨论】:

    标签: ruby-on-rails rails-console


    【解决方案1】:

    当您尝试请求的内容已经加载时,require 返回 false - 第一次您 require 'rails' 时,它没有加载,并且 require 返回 true。
    第二次require 'rails',已经加载完毕,require返回false。

    Rails 总是加载到 rails 控制台中。

    【讨论】:

    • 哦,我认为 require 命令只有在成功为我们的项目需要 rails 时才会返回 true,否则返回 false。关键是它正在根据写入时的加载返回。
    【解决方案2】:

    检查require 的文档,它指出

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

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

    当您调用rails c 时,它会在您的rails 环境中加载irb,因此它必须已经需要rails

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多