Tag: multipartform data

ActionDispatch :: Http :: UploadedFile.content_type未在Rspec测试中初始化

背景 :我有一个带有cover_file属性的Book模型,该属性通过我的一个Rails控制器使用上传的文件进行设置。 我正在使用Rails v4.0.4。 目标 :我想测试只保存具有特定内容类型的文件。 我计划使用ActionDispatch::Http:UploadedFile创建Rspec测试示例ActionDispatch::Http:UploadedFile使用不同的content_type属性设置ActionDispatch::Http:UploadedFile对象。 问题 :当我使用content_type初始化一个新的ActionDispatch::Http::UploadedFile时,似乎没有设置(请参阅下面的test&output确认它是nil)。 似乎我只能在初始化UploadedFile之后用setter设置它。 我没有在文档中看到任何提及这种行为,也没有在SO上找到类似的问答,所以我很感激任何人帮助确定我做错了什么。 谢谢! 代码 : describe Book do let(:book) {FactoryGirl.build(:book)} describe “Save” do context “with valid data” do before do cover_image = File.new(Rails.root + ‘spec/fixtures/images/cover_valid.jpg’) book.cover_file = ActionDispatch::Http::UploadedFile.new(tempfile: cover_image, filename: File.basename(cover_image), content_type: “image/jpeg”) puts book.cover_file.content_type.nil? book.cover_file.content_type = “image/jpeg” puts book.cover_file.content_type end specify{expect(book.save).to be_true} end end end […]