Rails 4使用fixture(.yml)和paperclip测试上传文件

时间:2015-01-31 13:49:50

标签: ruby-on-rails ruby-on-rails-4 paperclip

如何为测试纸夹上传创建灯具文件?我搜索少数结果谷歌但总是使用FactoryGirl。 我试过但没有工作:

img:
  image: <%= fixture_file_upload(Rails.root.join('test/fixtures/test_img.jpg'), 'image/jpeg') %>

1 个答案:

答案 0 :(得分:5)

你不能用灯具做到这一点。夹具将属性值直接添加到数据库,跳过活动记录层。 Paperclip是ActiveRecord的插件,用于处理和存储照片。

保存真实图像只能将参数直接传递给新记录。

你可以做的是将属性放入灯具中,这样回形针就可以正常工作,只是没有真正的文件。

  photo_file_name: temp_file.jpg
  photo_content_type: image/jpeg
  photo_file_size: 223312
  photo_updated_at: 2015-02-29 10:30:19 Z

如果您想使一切正确,最好使用FactoryGirl

fixture_file_upload仅用于动作控制器。