如何在除dev之外的环境中运行rake任务?

AKW*_*KWF 3 rake ruby-on-rails-3

我有一个具有特殊"临时"环境的登台机器.我总是忘记在那台机器上运行rake任务,如:

rake jobs:work RAILS_ENV=staging
Run Code Online (Sandbox Code Playgroud)

所以我最终做了:

rake jobs:work
Run Code Online (Sandbox Code Playgroud)

然后我很困惑为什么我的数据库中没有任何变化.卫生署!这是因为我不记得提供RAILS_ENV = staging.

但我永远不需要在该服务器上运行任何开发环境.默认情况下,如何在"临时"环境中运行rake任务?

Mik*_*wis 10

Rails.env = 'staging'
Run Code Online (Sandbox Code Playgroud)

把它放在你的任务文件中.


Xav*_*olt 7

您可以将一行设置环境变量RAILS_ENV放在一个文件中,该文件将在您登录计算机时运行.例如,我是一个bash用户,所以我就把它放了

export RAILS_ENV=staging
Run Code Online (Sandbox Code Playgroud)

在〜/ .bashrc(仅适合我)或/ etc/bashrc(适用于登录计算机的每个人).

希望这可以帮助!