是否可以使用 cron(通过 whenever gem)直接在可安装的引擎模型上运行任务。我认为 cron 无法从主应用程序启动,因为可安装的引擎应该是隔离的。
我可以在普通的 Rails 应用程序中随时使用它,而且效果很好,但我需要以引擎风格的方式运行任务。
谢谢
最佳答案
你不能拿 Rails Engine独立并直接执行任务,例如 Rake 任务或调用模型。将 Rails Engine 视为迷你 Rails 应用程序。它为安装父 Rails 应用程序提供功能和特性。引擎本身是不完整的。将引擎安装到 Rails 应用程序后,它可以访问正确启动和运行所需的所有配置和初始化程序。
已安装引擎的 Rake 任务继承到父 Rails 应用程序中。执行以下应包括来自引擎的 Rake 任务列表
rake -T
来自Rails runner ,您也可以执行已安装的 Rails 引擎的模型、库等。访问引擎的功能时,您必须使用引擎的命名空间。这是来自 Rails Guide 的示例从引擎访问模型:
Blorgh::Post.find(1)
关于ruby-on-rails - 带有 cron 的可安装引擎(每当 gem 时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121067/