我在我的Rails应用程序中有一个
Ruby脚本,用于从Twitter加载一些数据.
ruby /lib/twitter/twitterLoad.rb
为了使用Rails模型类等,我将以下作为脚本的第一行:
require "#{File.dirname(__FILE__)}/../../config/environment.rb"
默认情况下,使用开发环境.但是,我希望能够在某个时候选择生产环境.
更新#1:RAILS_ENV常量在environment.rb文件中设置.所以,我能够将ENV [‘RAILS_ENV’] =’生产’放在最顶层(环境.rb之前)并解决我的问题.那么,我的新问题是,可以通过命令行传入env变量吗?
解决方法
如果您要使用rails环境,最好的办法是将其作为rake脚本.为此,将twitter.rake文件放入lib / tasks中,然后以这样的方式开始和结束:
task(:twitter_load => :environment) do # your code goes here end
这样,你就是通过“遵循惯例”来做到这一点,并且它没有那种与之相关的难闻气味.