2009-05-23 53 views
6

我有一個基本的rails應用程序測試,用戶模型有一個用回形針處理的照片字段。我創建了能夠創建/編輯用戶的視圖,並且照片上傳工作正常。與回形針和SWFUpload一起使用Rails

<h1>Editing user</h1> 

<% form_for :user, @user, :url => user_path(@user), :html => { :method => "put", :multipart => true } do |f| %> 
    <%= f.error_messages %> 

    <p> 
    <%= f.label :first_name %><br /> 
    <%= f.text_field :first_name %> 
    </p> 
    <p> 
    <%= f.label :last_name %><br /> 
    <%= f.text_field :last_name %> 
    </p> 
    <p> 
    <%= f.label :file %><br /> 
    <%= f.file_field :file %> 
    </p> 

    <p> 
    <%= f.label :photo %><br /> 
    <%= f.file_field :photo %> 
    <p> 
    <%= f.submit 'Update' %> 
    </p> 

<% end %> 

<%= link_to 'Show', @user %> | 
<%= link_to 'Back', users_path %> 

然後,我想將SWFUpload集成到我的應用程序中。我試圖按照此tutorial並沒有任何成功運行test project:瀏覽按鈕不打開文件對話框,並拋出錯誤#2176是關於selectFiles()方法。

首先,問題是關於Flash v.10與項目中包含的舊版本SWFUpload(2.1.0)不兼容:selectFiles()現在已被棄用。所以我嘗試升級到SWFUpload v.2.2.0,它現在使用button_placeholder_id設置,但我無法獲得任何示例。

所以我有點失落如何使用SWFUpload初始化和關於和使用它在我的表單,所以我可以上傳和保存一張照片。任何幫助?

回答

1

對於通過照片文件場ID來SWFUpload的,你的領域的id將是user_photo(從<輸入類型=「文件」 ID =「user_photo」 .../>),所以用

初始化的SWFUpload
var swfupload = new SWFUpload({button_placeholder_id:'user_photo' ... }); 

它將用swf上傳器替換文件字段。

請記住,默認情況下文件將作爲'Filedata'參數上傳。從技術上講,你可以將其改爲'用戶[照片]',但顯然這在Linux上不起作用,所以你可能需要在服務器端做一些調整才能將它移到正確的位置。