我有一些代码希望在启动时自动执行每个项目
rails c
。在我的 Rails 6 项目之一中,我刚刚在项目的顶层创建了一个 .irbrc
文件,并且它按预期成功执行。
但是,对于我正在开发的新 Rails 7(仅限 API)项目,
.irbrc
文件将被忽略。我正在使用 rvm,它想要将 IRBRC 环境变量设置为另一个文件。然而,即使这个配置文件也没有被执行。我已经尝试了unset IRBRC
和export IRBRC=.irbrc
,但这些本身都不能解决问题。
我终于将
gem "irb"
添加到我的 GEMFILE 中,运行 bundle install
。然后我运行 IRBC=.irbc rails c
,然后在控制台会话中调用 IRB.start
,它最终加载了脚本!
如何让 Rails 7 在使用控制台(仅限)时正确加载项目特定的
.irbrc
文件?
在这里找到了解决方案:https://stackoverflow.com/a/57526113/8005367
显然您现在可以添加一个初始化程序文件(例如:/config/initializers/console.rb)来在控制台运行时配置它:
Rails.application.console do
puts "Initializing the Rails console..."
# console configuration here!
end
我已经测试并确认这只能在运行控制台时正确执行