gpt4 book ai didi

ruby-on-rails - 未定义的方法 `tempfile' 为 "\x89PNG\r\n":String

转载 作者:行者123 更新时间:2023-12-05 07:55:08 27 4
gpt4 key购买 nike

我的 Controller 规范中有以下用于上传文件的内容:

post :file_upload,
user_id: @project.user.username,
id: @project.name,
branch_name: 'master',
commit: 'first commit',
file: fixture_file_upload("files/happypanda.png", "image/png")

我认为这是上传文件的正确方式,但它一直给我:

NoMethodError: undefined method `tempfile' for "\x89PNG\r\n":String

请问我应该发布哪些其他相关信息。

最佳答案

我最近也遇到了 fixture_file_upload 的问题,但好消息是该方法只是大致以下代码的快捷方式:

Rack::Test::UploadedFile.new("#{Rails.root}/spec/fixtures/#{file_path}", mime_type)

所以尝试使用这个较低级别的调用,如果它更适合你,你甚至可以将它包装在一个辅助方法中:

def file_upload(name)
Rack::Test::UploadedFile.new("#{Rails.root}/spec/_files/#{name}")
end

(请注意,路径 /spec/fixtures 没有什么特别之处,这只是假定的默认值。)

关于ruby-on-rails - 未定义的方法 `tempfile' 为 "\x89PNG\r\n":String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30443048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com