我正在使用Rails 3.1和Paperclip,並試圖在單個頁面上實現Uploadify以進行多個文件上傳。我試過以下的各種樣品,包括:Rails3-Paperclip-UploadifyRails 3 Uploadify + Paperclip文件數據從未發送
目前,我有其中有一個人跟我UploadImage模型許多關係的上傳模式 - 這是我的設置到目前爲止我的看法:
UploadImages /新.html.erb
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" %>
<%= javascript_include_tag "swfobject.js", "jquery.uploadify.v2.1.0.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));
$('.uploadify').uploadify
({
uploader : '/uploadify/uploadify.swf',
cancelImg : '/uploadify/cancel.png',
multi : true,
auto : false,
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.id %>'
}
});
});
</script>
<%= form_for @upload.upload_images.build, :html => { :class => "upload", :multipart => true } do |f| %>
<%= f.file_field :image, :class => "uploadify" %>
<%= submit_tag "Submit Upload", :disable_with => "Uploading", :class => "submit"%>
<% end %>
我看到uploadify閃光燈按鈕,我選擇幾個文件,並提交,但是這是所有我在PARAMS看到:
{ 「UTF-8」=> 「✓」 , 「authenticity_token」=> 「K1bSH/FO0Hjdum0aiNU45mHJXezXTiCgh9XVmk1jrZM =」, 「提交」=> 「提交上傳」, 「動作」=> 「創建」, 「控制器」=> 「upload_images」}
作爲你可以看到沒有文件數據被髮送,甚至我指定的scriptData都沒有被髮送,我注意到其他人的代碼使用參數uploadify功能。在PHP框架中,他們將它指向處理保存的.php文件。我使用回形針,所以我不知道如何實現這...也許這是我的問題?讓我知道你是否需要任何額外的細節。