如何创建运行脚本/控制台然后使用该环境运行命令的ruby脚本?

时间:2012-08-24 15:20:23

标签: ruby-on-rails ruby bash

我注意到我一直在做:

bundle exec script/console
<wait for console to load>
require migration
generate some data

很多......我想知道是否有办法在bash脚本或其他东西中使用这一切。所以我可以做./generatedata并让它运行上面的命令。

2 个答案:

答案 0 :(得分:3)

我发现自定义rake任务是一个很棒的工具,当你需要在rails环境中运行代码的工作时。看看这个railscast http://railscasts.com/episodes/66-custom-rake-tasks

答案 1 :(得分:3)

如果要在控制台中运行一次性命令,可以使用rails runner命令。因此,如果您有一个执行要在控制台中执行的ruby命令的./generatedata.rb脚本,则只需调用rails runner ./generatedata.rb,它就会在rails环境中针对数据库运行ruby脚本。或者,您可以将shebang行添加到./generatedata.rb脚本:#!/usr/bin/env rails runner。然后,您只需要执行./generatedata.rb脚本,它将自动使用rails runner