载波和导轨固定装置

时间:2014-07-26 23:56:26

标签: ruby-on-rails ruby ruby-on-rails-4 carrierwave minitest

我如何使用带有载波上传的populate rails fixtures(yaml)? 文档似乎没有涵盖这一点,而carrierwave wiki也没有。

我试过了

我已经验证上面的ruby代码生成了一个有效的文件对象。

1 个答案:

答案 0 :(得分:0)

我怀疑灯具会在任何地方出现,因为它们仅在Rails代码库中使用。另外,我使用它们,所以这一切都很重要。

我也发现这个article帮助了我,也帮助了你。

test_helper.rb

中归结
class ActiveSupport::TestCase
  # Add more helper methods to be used by all tests here...
  CarrierWave.root = Rails.root.join('test/fixtures/files') #path is up to you
  def after_teardown
    super
    CarrierWave.clean_cached_files!(0)
  end
end

class CarrierWave::Mount::Mounter
  def store!
   # Not storing uploads in the tests
  end
end

然后我加入了我的上传器:

def store_dir
  if Rails.env.test?
    "images"
  else
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

我确信我可以摆脱store_dir三元声明的需要,但现在它可行。如果这对你没有用,我还有另一种方法,但这更清洁了。