2011-12-02 40 views
0

我在我的網站上使用回形針上傳頭像。Ruby on Rails回形針update_attributes不起作用

我遇到的問題是,當我將表格設置爲remote => true 帳戶頭像未更新。所有其他屬性都會更新,除了頭像。

當我只使用重定向時,它工作正常。

我在我的網站上使用remotipart進行遠程圖像上傳。我的網站的其他部分通過遠程請求進行圖像上傳時工作正常。

我很困惑我做錯了什麼。

這是我迄今爲止的控制器:

def update 
@account = Account.getAccountById(session[:user]) 
if @account.update_attributes(params[:account]) 

else 

end 
end 

在視圖:

<% form_for @account, :html => {:multipart => true}, :remote => true do |f| %> 

得到任何幫助。

感謝,

布賴恩

更新

我使用remotipart寶石。

當我正確使用remotipart_submitted條件語句?它總是返回false。

另外,如果我檢查params [:account] [:avatar] .blank?與遠程真實它總是返回真實。

如果我刪除remote => true,那麼params [:account] [:avatar] .blank?如果文件字段有值,則返回true或false。

所以我很困惑爲什麼remote => true沒有檢測到文件字段有值。

回答

0

問題是JavaScript不會讓你通過XHR上傳文件,因爲它被認爲是安全風險。解決這個問題的方法是創建一個iframe,將表單複製到該表單中,並在iframe中正常提交。

您可以通過使用像jquery.form.js

+0

東西我使用的是應該自動做這一切remotipart寶石有些自動執行此操作。 – Brian