我想在生产中的rails 3上运行一些Thor任务, 但我不知道如何设置它。 以下代码无效
class CheckData < Thor
require File.expand_path('config/environment.rb')
end
答案 0 :(得分:6)
将RAILS_ENV环境变量设置为require
语句正上方的'production'应该有效。如果没有提前设置环境变量,我在这里使用条件赋值将环境默认为“生产”。
class CheckData < Thor
ENV['RAILS_ENV'] ||= 'production'
require File.expand_path('config/environment.rb')
end
如果从命令行将其作为Thor任务运行,则可以在运行之前设置环境变量,从而覆盖默认分配:
export RAILS_ENV=test; thor check_data
有关更多环境变量,请参阅Rails Environment Settings中的配置Rails应用程序RailsGuides。