【发布时间】:2010-09-06 14:34:00
【问题描述】:
我已经看到将它放在 lib 文件夹中的示例,以及在 app 文件夹中的另一个示例。 Rails 2.3.8 和 Rails 3 约定是否有标准放置位置?
【问题讨论】:
标签: ruby-on-rails cron whenever
我已经看到将它放在 lib 文件夹中的示例,以及在 app 文件夹中的另一个示例。 Rails 2.3.8 和 Rails 3 约定是否有标准放置位置?
【问题讨论】:
标签: ruby-on-rails cron whenever
脚本必须进入 /scripts 文件夹。当然,对于如何将脚本与控制器/模型“需要”的常规 ruby 文件区分开来,几乎总是存在混淆。如果您的脚本需要启动/维持您的应用程序,那么是的,它是一个脚本。或者,如果它有时需要一个 ruby 文件,或者只是在某些情况下需要它来补充模型/控制器,那么最好将它放在 /lib 文件夹中。
【讨论】:
script 文件夹的脚本看起来非常像“系统”或“Rails”——Rails 内部的。
我通常没有运行脚本,而是直接调用模型上或 lib 中的某些方法。例如,我的 Rails cronjobs 通常如下所示:
/path_to_app/scripts/runner -e production "SomeModule.perform_task"
我觉得这样更干净。
不过,有一次我写了一个脚本,在那种情况下,我只是把它放在 lib 目录中:
/path_to_app/scripts/runner -e production /path_to_app/lib/perform_task.rb"
【讨论】: