【问题标题】:Runner in Ruby on RailsRuby on Rails 中的 Runner
【发布时间】:2012-06-17 18:15:48
【问题描述】:

什么是脚本/运行器?

什么是跑步者?

如何在 Ruby 文件上使用 runner?

在命令提示符下输入的所有命令是什么?

顺便说一下,我使用的是 Windows。

【问题讨论】:

    标签: ruby-on-rails runner


    【解决方案1】:

    来自Rails Guides

    1.7rails runner

    runner 在 Rails 上下文中以非交互方式运行 Ruby 代码。为了 实例:

    $ rails runner "Model.long_running_method"
    

    您也可以使用别名“r”来调用运行器:rails r

    您可以指定运行器命令应该在其中的环境 使用-e 开关进行操作。

    $ rails runner -e staging "Model.long_running_method"
    

    任何要运行的代码都必须作为 Rails 应用程序的一部分加载,即在 app/lib/ 等其他地方。

    【讨论】:

    • 好的,“long_running_method”是以扩展名.rb 结尾的文件吗?还有什么是“脚本/跑步者”,在许多网站上都遇到过。
    • script/runner 是 Rails 3 之前的 rails runner 的旧版等价物。long_running_method 不是文件……它是 Model 类的 方法。传递的字符串实际上是要运行的 Ruby 代码。
    • 好的,这是一个真实的情况:我有 Apache + Passenger + Rails 应用程序。如何配置运行器与 Apache 一起启动和停止的所有这些?
    • 我注意到在 Rails 5 中运行时不需要使用引号。这样做会导致问题吗?
    • @Jake 这里的引号与 Rails(或 Ruby)无关,它们是用于 shell 的。这恰好无关紧要,因为参数中没有空格(或其他常见的 shell 特殊字符)。
    【解决方案2】:

    你可以把你的 Ruby 文件放到 /lib 文件夹中并通过以下方式执行:

    rails r lib/script.rb
    

    就是这样。

    【讨论】:

      猜你喜欢
      • 2020-10-02
      • 2013-02-13
      • 2021-10-29
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      相关资源
      最近更新 更多