Hash 使用params中的回形针手动保存文件,不带脚手架

Hash 使用params中的回形针手动保存文件,不带脚手架,hash,rubygems,ruby-on-rails-3.2,paperclip,params,Hash,Rubygems,Ruby On Rails 3.2,Paperclip,Params,我是rails的新手,我正在研究回形针gem,想保存从回形针保存的简单文件。 我的模型如下所示:- class UserAttachment < ActiveRecord::Base attr_accessible :email, :user_id, :attached_file has_attached_file :attached_file validates_attachment_presence :attached

我是rails的新手,我正在研究回形针gem,想保存从回形针保存的简单文件。 我的模型如下所示:-

    class UserAttachment < ActiveRecord::Base
          attr_accessible :email, :user_id, :attached_file
          has_attached_file :attached_file
          validates_attachment_presence :attached_file   
          validates_attachment_size :attached_file, :less_than => 20.megabytes   
        end
收到的参数如下:-

(rdb:6) pp params
{"utf8"=>"✓",
 "authenticity_token"=>"dfjaskldjadslgjsoidruts48589034lsker=",
 "user_attachment"=>
  {"email"=>"testing@email.com",
   "attached_file"=>
    #<ActionDispatch::Http::UploadedFile:0x007fcb58682ba0
     @content_type="image/jpeg",
     @headers=
      "Content-Disposition: form-data; name=\"user_attachment[attached_file]\"; filename=\"someimage.jpg\"\r\nContent-Type: image/jpeg\r\n",
     @original_filename="800px-Kinnaur_Kailash.jpg",
     @tempfile=#<File:/tmp/RackMultipart20121205-8432-1fc1kpi>>},
 "commit"=>"Submit",
 "controller"=>"attachment",
 "action"=>"get_link"}
(rdb:6)pp参数
{“utf8”=>“✓",
“真实性令牌”=>“dfjaskldjadslgjsoidruts48589034lsker=”,
“用户附件”=>
{“电子邮件”=>“testing@email.com",
“附件”=>
#},
“提交”=>“提交”,
“控制器”=>“附件”,
“操作”=>“获取链接”}

抓到了,很简单,我在脚手架作业中检查过

def index
  @uattachment = UserAttachment.new(params[:user_attachment])
  @uattachment.save
end
而你得到的金字招牌是“真的”

@uattachment = UserAttachment.new
@uattachment = params[:user_attachment]
@uattachment.save
(rdb:6) pp params
{"utf8"=>"✓",
 "authenticity_token"=>"dfjaskldjadslgjsoidruts48589034lsker=",
 "user_attachment"=>
  {"email"=>"testing@email.com",
   "attached_file"=>
    #<ActionDispatch::Http::UploadedFile:0x007fcb58682ba0
     @content_type="image/jpeg",
     @headers=
      "Content-Disposition: form-data; name=\"user_attachment[attached_file]\"; filename=\"someimage.jpg\"\r\nContent-Type: image/jpeg\r\n",
     @original_filename="800px-Kinnaur_Kailash.jpg",
     @tempfile=#<File:/tmp/RackMultipart20121205-8432-1fc1kpi>>},
 "commit"=>"Submit",
 "controller"=>"attachment",
 "action"=>"get_link"}
def index
  @uattachment = UserAttachment.new(params[:user_attachment])
  @uattachment.save
end