2011-12-02 2 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? 원격 true로 항상 true를 반환합니다.

remote => true를 제거한 다음 params [: account] [: avatar] .blank? 파일 필드에 값이 있거나없는 경우 true 또는 false를 반환합니다.

그래서 remote => true가 파일 필드에 값이 있음을 감지하지 못하는 이유에 대해 혼란스러워합니다.

답변

0

보안 문제로 간주되므로 JavaScript는 XHR을 통해 파일을 업로드하도록 허용하지 않습니다. 그 주위를 돌아 다니는 방법은 iframe을 생성하고 그 안에 form을 복사 한 다음 iframe 내에서 정상적으로 제출하는 것입니다.

당신은 내가 자동으로 모든이 작업을 수행하도록되어 remotipart 보석을 사용하고 jquery.form.js

+0

같은 것을 사용하여 다소 자동으로이 작업을 수행 할 수 있습니다. – Brian

관련 문제