如何启动一个Rails控制台时自动运行的代码?(How to run code automatica

2019-10-22 16:51发布

比方说,我想问候每次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\'ma custom greeting' puts 'Hello there! I\'ma custom greeting'声明?

另一个答案#1建议,和我读过这在其他地方也一样,我可以把在这样的初始化:

# config/initializers/console_greeting.rb
if defined?(Rails::Console)
  puts 'Hello there! I\'m a custom greeting'
end

这不适合我的工作,虽然:(。即使没有if defined?(Rails::Console)我还没有得到输出。好像初始化时,我进入控制台,都跑不了,尽管别人建议。

Answer 1:

我用类似目的(我需要在每个控制台会话宝石)〜/ .irbrc。 例如,我的.irbrc

if (defined? Rails)
  # Rails specific
end

# common for all irb sessions

您可以使用您的项目名称,以限制执行代码,只有一个项目的控制台:

if (defined? Rails) && (defined? YourProject)
  # code goes here
end


文章来源: How to run code automatically when launching a Rails console?