1

我正在尝试通过另一个应用程序的 api 调用将文件上传到我的控制器。我正在使用法拉第发出发布请求,但出现此错误:

Paperclip::AdapterRegistry::NoHandlerError (No handler found for "#<UploadIO:0x007fb3ba8391c0>"):
app/controllers/talks_controller.rb:21:in `create'

这是我的法拉第请求:

puts conn.post "/talks.json", { talk: { title: 'asdf8', link: 'fakelink', audio: Faraday::UploadIO.new('dhh-37signals.mp3', 'audio/mp3') }}

这是我的模型:

class Talk < ActiveRecord::Base
  validates :title, presence: true,
                length: { minimum: 5 }
  validates :link, presence: true
  has_attached_file :audio
  do_not_validate_attachment_file_type :audio
end

我认为这与回形针有关,仅将其#<UploadIO:0x007fb3ba8391c0>"视为我上传的文件而不是我的实际文件。当我通过我的表单上传文件时,它工作正常,但通过法拉第上传不起作用。有任何想法吗?

4

0 回答 0