【发布时间】:2015-06-23 13:32:44
【问题描述】:
假设每次出现 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),并且从来没有遇到过问题......我想知道这里是否还有其他问题? -
当我使用
rails s运行服务器时,会显示“Hello there....”行确实。所以初始化程序正在执行。只是不是在启动控制台时。仅在启动整个服务器时。 -
bwerth@worth:~/rails/my_site$ bundle exec rails c"Devise monkey patch for v 3.4.1. Check before moving on"Loading development environment (Rails 4.0.2) -
可能值得一提的是
p ('Devise monkey patch for v 3.4.1. Check before moving on')是config/initializers/devise_minkey_patch.rb的第一行...您还使用了哪些其他gem?记录器有什么恶作剧吗?
标签: ruby-on-rails ruby ruby-on-rails-4 rails-console ruby-on-rails-4.2