【发布时间】:2012-08-21 03:08:46
【问题描述】:
我遵循了instructions on how to define a test-specific store directory for carrierwave uploads,它建议打开CarrierWave::Uploader::Base 类并重新定义store_dir 和cache_dir,如下所示:
if defined?(CarrierWave)
CarrierWave::Uploader::Base.descendants.each do |klass|
next if klass.anonymous?
klass.class_eval do
def cache_dir
"#{Rails.root}/spec/support/uploads/tmp"
end
def store_dir
"#{Rails.root}/spec/support/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
end
end
这就像一个魅力,除了当我用 spork 运行 rspec 时,它无法修改类并且上传存储在默认位置。有谁知道为什么会发生这种情况?
【问题讨论】:
-
store和cache_dir有什么区别?
标签: ruby-on-rails rspec carrierwave spork