如何在 Rails 中解析此参数?

How do I resolve this parameter in Rails?

我正在尝试合并 Carrierwave 和 jQuery 文件上传。正在上传文件,但我在获取参数时遇到问题。

参数是这样传递的:

 Parameters: {"utf8"=>"✓", "authenticity_token"=>"Q6AvptpHm59DMIJy86g9hGCzjhUnP8cwpIHZIntAplvYrj+J5UhifXiLp/bxKitHO9WfjYRPLEhaqIKia3xZkw==", "myfile"=>{"attachment"=>[#<ActionDispatch::Http::UploadedFile:0x007fd46b3def68 @tempfile=#<Tempfile:/tmp/RackMultipart20150117-31080-b37zni.png>, @original_filename="Screen Shot 2015-01-17 at 12.18.19 PM.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"myfile[attachment][]\"; filename=\"Screen Shot 2015-01-17 at 12.18.19 PM.png\"\r\nContent-Type: image/png\r\n">]}, "myfolder_id"=>"1"}

我正在尝试以这种方式在控制器中获取这些参数:

@myfile = @parentfolder.myfiles.new(attachment: params[:myfile_attributes])

这显然是错误的。任何帮助,将不胜感激!! :)

查看您的日志:

 Parameters: { ... "myfile"=>{"attachment"=>[....]} ... }

试试这个:

params[:myfile][:attachment]

或这个(如果我没看错,我在数组中看到你的附件):

params[:myfile][:attachment].first
 Parameters: { "myfile"=>
 {"attachment"=>[#<ActionDispatch::Http::UploadedFile:0x007fd46b3def68 @tempfile=# }
}

#这是您访问附件参数的方式! 但是关于您的上传内容,您需要在此处粘贴您的 my_files_params 函数定义 )

try params["myfiles"]["attachment"]