仅为 Rake 任务运行初始化程序
我希望在执行 Rake 任务时运行某个初始化程序,但在运行 Rails 服务器时不运行。
区分 Rake 调用和服务器调用的最佳方法是什么?
I'd like a certain initializer to run when executing a Rake task, but not when running the Rails server.
What is the best way to differentiate a Rake invocation and a server invocation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Rake 允许您指定任务的依赖关系。最好的建议操作是将特定于 rake 的初始化放入其自己的任务中,而该任务又取决于“环境”任务。例如:
如果您想像 Rails 那样创建一个特定于 rake 的初始化脚本目录,我们只需在
:custom_environment
任务中实现即可。这允许您将特定于 rake 的初始化器与常规初始化器分开。您只需记住依赖于您设置的
:custom_environment
即可。Rake allows you to specify dependencies for your tasks. The best recommended action would be for you to put your rake-specific initialization in its own task that in turn depends on the "environment" task. For example:
If you want to make a rake-specific directory of initializer scripts like we have for rails proper, we would just implement that in our
:custom_environment
task.This allows you to keep rake-specific intializers separate from the regular initializers. You just have to remember to depend on the
:custom_environment
you set up.