【问题标题】:Where to put Ruby scripts for script/runner on a Rails project?在 Rails 项目中将脚本/运行程序的 Ruby 脚本放在哪里?
【发布时间】:2010-09-06 14:34:00
【问题描述】:

我已经看到将它放在 lib 文件夹中的示例,以及在 app 文件夹中的另一个示例。 Rails 2.3.8 和 Rails 3 约定是否有标准放置位置?

【问题讨论】:

    标签: ruby-on-rails cron whenever


    【解决方案1】:

    脚本必须进入 /scripts 文件夹。当然,对于如何将脚本与控制器/模型“需要”的常规 ruby​​ 文件区分开来,几乎总是存在混淆。如果您的脚本需要启动/维持您的应用程序,那么是的,它是一个脚本。或者,如果它有时需要一个 ruby​​ 文件,或者只是在某些情况下需要它来补充模型/控制器,那么最好将它放在 /lib 文件夹中。

    【讨论】:

    • 你确定吗? script 文件夹的脚本看起来非常像“系统”或“Rails”——Rails 内部的。
    • 当然。如果您的脚本符合上述脚本的定义,那么它肯定应该在 /scripts 文件夹中。
    【解决方案2】:

    我通常没有运行脚本,而是直接调用模型上或 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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-12
      • 2014-08-09
      • 2014-08-13
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      相关资源
      最近更新 更多