我将使用仅用于控制台的Ruby类,它为ActiveRecord::Base
添加ua
等快捷方式update_attribute
并且我不想要在运行rails server
时加载它,但仅在运行rails console
命令时加载。
实现这一目标的方法是什么?
答案 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;然后始终在该环境中启动控制台。这似乎会减少意外的副作用综合症。