如何从初始化程序中停止Rails执行?

时间:2017-11-05 02:49:45

标签: ruby-on-rails ruby configuration server initialization

我想停止应用程序从初始化程序启动。 如果配置不存在,停止服务器/控制台等等。 还要发送消息以解释错误。

有办法吗?

我查看了初始化事件,但我无法实现。

提前致谢。

2 个答案:

答案 0 :(得分:2)

是的,只是像往常一样提出异常:

raise StandardError, "Stopping app start up because something is missing"

如果你这样做是因为缺少某些配置,请考虑使用像Figaro这样的东西来为你做这件事。

Figaro.require_keys("pusher_app_id", "pusher_key", "pusher_secret")

https://github.com/laserlemon/figaro

答案 1 :(得分:2)

您可以使用Kernel#abort方法执行此操作。它将使用您提供的消息停止应用程序,并且不会抛出任何错误。

示例:

abort('You need to pass more info to start the application') if some_check_fails?