如何只为控制台要求一个文件

时间:2016-02-09 11:31:50

标签: ruby-on-rails

我将使用仅用于控制台的Ruby类,它为ActiveRecord::Base添加ua等快捷方式update_attribute并且我不想要在运行rails server时加载它,但仅在运行rails console命令时加载。

实现这一目标的方法是什么?

2 个答案:

答案 0 :(得分:8)

rails console定义Rails::Console

所以你可以做到

if defined?(Rails::Console)
  # this runs only in rails console
end

另一种方法是使用config/application.rb

module MyApplication
  class Application < Rails::Application
    console do
      require 'my_console_file'
    end
  end
end

答案 1 :(得分:1)

您可以通过复制其中一个并进行所需更改来设置新环境&#34; console&#34;然后始终在该环境中启动控制台。这似乎会减少意外的副作用综合症。