ユーザーがUploadifyを介して親のアップロードと一緒に送信する新しいファイルUload_imageを入力すると、Railsアプリケーションをデバッグしています。現在、レコードは保存されておらず、現在デバッグ中なので、upload_imageコントローラーのcreateメソッド内にrequire'debugger'をドロップし、paramsハッシュを評価しました。これが取得したものです。
{"Filename"=>"sample.pdf", "folder"=>"/uploads/", "upload_id"=>"3", "authenticity_token"=>"gyUCME24FB4PyndTbkrzYZQkLVPtLiJQycnASK/kxbI=", "_pro-template-app-31_session"=>"BAh7CkkiD3Nlc3Npb25faWQGOgZFRkkiJTU4MTBiNzg2Mjg4OGJjNGUzMDY0ZmU0ZjJmMWJjZjFhBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMWd5VUNNRTI0RkI0UHluZFRia3J6WVpRa0xWUHRMaUpReWNuQVNLL2t4Ykk9BjsARkkiGXdhcmRlbi51c2VyLnVzZXIua2V5BjsAVFsISSIJVXNlcgY7AEZbBmkGSSIiJDJhJDEwJHVSSXZYaDREV1p6U0tSMndtLjFRNU8GOwBUSSIOb25saW5lX2F0BjsARlU6IEFjdGl2ZVN1cHBvcnQ6OlRpbWVXaXRoWm9uZVsISXU6CVRpbWUN1REcwCCtBu8GOgtAX3pvbmVJIghVVEMGOwBUSSIfQ2VudHJhbCBUaW1lIChVUyAmIENhbmFkYSkGOwBGSXU7Bw3QERzAIK0G7wY7CEkiCFVUQwY7AFRJIgplcnJvcgY7AEZJIgAGOwBU--feba71517b823faffc30a993cc96455fa2478f71", "_method"=>"post", "format"=>"json", "_http_accept"=>"application/javascript", "Filedata"=>#<ActionDispatch::Http::UploadedFile:0x00000006af6328 @original_filename="sample.pdf", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"Filedata\"; filename=\"sample.pdf\"\r\nContent-Type: application/octet-stream\r\n", @tempfile=#<File:/tmp/RackMultipart20120514-22783-xg2pm2>>, "Upload"=>"Submit Query", "action"=>"create", "controller"=>"uploads"}
Filedataハッシュ情報を実際に保存できるものとしてどこから解析し始めるのかわかりません...おそらくJSで何か間違ったことをしているのでしょうか?..。
<script type="text/javascript" charset="utf-8">
<%- session_key = Rails.application.config.session_options[:key] -%>
$(document).ready(function() {
// Create an empty object to store our custom script data
var uploadify_script_data = {};
// Fetch the CSRF meta tag data
var csrf_token = $('meta[name=csrf-token]').attr('content');
var csrf_param = $('meta[name=csrf-param]').attr('content');
// Now associate the data in the config, encoding the data safely
uploadify_script_data[csrf_token] = encodeURI(encodeURI(csrf_param));
// Now associate the data in the config, encoding the data safely
uploadify_script_data[csrf_token] = encodeURI(csrf_param)
$('.uploadify').uploadify(
{
uploader : '/uploadify/uploadify.swf',
cancelImg : '/uploadify/cancel.png',
multi : true,
auto : true,
script : '/uploads',
onComplete : function(event, queueID, fileObj, response, data)
{
var dat = eval('(' + response + ')');
$.getScript(dat.upload);
},
scriptData :
{
'_http_accept': 'application/javascript',
'format' : 'json',
'_method': 'post',
'<%= session_key %>' : encodeURIComponent('<%= u cookies[session_key] %>'),
'authenticity_token': encodeURIComponent('<%= u form_authenticity_token %>'),
'upload_id' : '<%= Upload.last.id + 1 %>'
}
});
});
</script>