我正在尝试在暂存环境中执行任务,因此我在lib / tasks文件夹中创建了一个db.rake文件。我肯定错过了一些东西,但由于某种原因没有设置应该的临时环境。我怎么知道?因为我正在尝试打印User.all来查找每个用户,但我得到的是一个空数组。在控制台中我放了rake db:clean_user_vitcords RAILS_ENV = staging
这是我在db.rake上创建的任务
namespace :db do
desc "TODO"
task clean_user_vitcords: :environment do
ap "entro aqui"
ap Rails.env
users = User.all
ap users.to_a
users.each do |user|
user.vitcords.reject! { |vitcord_id| Vitcord.find(vitcord_id).count == 0 }
user.save
end
end
end
这是控制台中的输出
"entro aqui"
"staging"
[]