假设我想在每次打开Rails控制台时得到一个问候:
Scotts-MBP-4:ucode scott$ rails c
Loading development environment (Rails 4.2.1)
Hello there! I'm a custom greeting
2.1.5 :001 >
我应该把puts 'Hello there! I\'m a custom greeting'
语句放在哪里?
另一个Stackoverflow的回答建议我可以把它放在初始化程序中,像这样:
# config/initializers/console_greeting.rb
if defined?(Rails::Console)
puts 'Hello there! I\'m a custom greeting'
end
不过,对我来说这个方法并不奏效 :(. 即使没有 if defined?(Rails::Console)
也没有输出。似乎当我进入控制台时,初始化程序并未运行,尽管其他人有所建议。
if defined?(Rails::Console)
,并且从未遇到过任何问题... 我想这里是否还有其他因素在起作用呢? - Brad Werthrails s
运行服务器时,“Hello there....” 行确实会被显示出来。所以初始化程序正在执行。只有在启动整个服务器时才会执行,而不是在启动控制台时执行。 - at.p ('Devise monkey patch for v 3.4.1. Check before moving on')
是config/initializers/devise_minkey_patch.rb
中的第一行...你还使用了哪些宝石?有任何记录器方面的问题吗? - Brad Werth