Ruby on Rails:REST API +文件上传+回形针

我正在尝试通过PUT请求在我的服务器上使用REST API上传附件。 我可以通过将二进制文件放在请求体中来实现这一点,但我也想将此文件保存为使用paperclip保存附件的模型的附件。

这是我目前涉及的类定义:

class Cl < ActiveRecord::Base after_update :save_tses validates_associated :tses has_many :tses ...truncated... def save_tses tses.each do |ts| ts.save(false) end end end class Ts  { :thumb => {:geometry => "100x141>", :format => :jpg} }, :path => ":rails_root/public/system/:attachment/:id/:style/:friendly_filename", :url => "/system/:attachment/:id/:style/:friendly_filename" belongs_to :cl def friendly_filename "#{self.tsa_file_name.gsub( /[^a-zA-Z0-9_\.]/, '_')}" end end 

我可以使用html页面上的文件上传保存附件。 我想在控制器上执行此操作,该控制器通过PUT请求将文件作为二进制数据接收。

有什么建议?

得到它了,

 # controller.rb def add_ts # params[:id] # params[:tsa] @cl = Cl.find(params[:id]) ts = @cl.tses.build(:name => "#{@cl.name}_#{Time.now.to_i}") ts.tsa = params[:tsa] if ts.save render :json => {:status => "OK"} else render :json => {:status => "ERROR"} end end # Test curl -F "tsa=@file.pdf" "http://host/cl/474/add_ts" => {"status":"OK"}