我选择refile gem来处理我的应用程序中的文件上传。我在FactoryGirl中使用它时遇到了一些问题。在我的工厂里,我有这样的东西:
include ActionDispatch::TestProcess
FactoryGirl.define do
factory :company do
sequence(:name) { |n| "Company #{n}" }
logo_id { fixture_file_upload(Rails.root.to_s + "/spec/fixtures/images/1x1.gif") }
end
end当我运行一些功能规范时,它返回以下错误:
5) Company destroying destroys company
Failure/Error: visit companies_path
ActionView::Template::Error:
Refile::InvalidID编辑:这个错误是由我的视图模板中的这一行引起的:
%td= image_tag attachment_url(company, :logo, :fill, 50, 50)发布于 2015-09-23 20:30:05
不要手动设置徽标id。试试这样的东西。此外,为了加快测试速度,请使用一些轻量级的文件,而不是真正的文件,如StringIO。
FactoryGirl.define do
factory :company do
sequence(:name) { |n| "Company #{n}" }
logo {
StringIO.new('hello')
}
end
endhttps://stackoverflow.com/questions/28564574
复制相似问题