:remote => 형식으로 파일 업로더를 사용하면 작동하지 않습니다.
기본적으로 내 폼에 파일 업로더를 포함하여 사용하면 :remote => true 기능을 취소하고 JS 대신 HTML로 작업을 처리하는 것 같습니다. 아이디어가 있습니까?
저는 단지 같은 문제에 직면했을 뿐인데, 이 문제를 해결하기 위해 다음과 같은 대안을 찾았습니다.
젬 리모티파트 => http://www.alfajango.com/blog/rails-3-ajax-file-uploads-with-remotipart/
jQuery 플러그인 'jaxy' => https://github.com/adamlogic/jquery-jaxy
첫 번째 옵션이 더 마음에 드는 것 같아요.하지만 선택권이 있는 건 좋습니다.=)
당신은 AJAX를 통해 파일을 업로드할 수 없기 때문에, 당신의 요청은 명백한 HTML로 다가옵니다. 왜냐하면 당신은 :js에 특정한 것을 가지고 있지 않고 레일은 그것이 단순한 HTML POST 요청이라고 생각하기 때문입니다.
https://github.com/JangoSteve/remotipart
gem 'remotipart', '~> 1.2'
그리고 나서.bundle install
//= require jquery.remotipart
sample_sample.sample.erb
<%= form_for @sample, :html => { :multipart => true }, :remote => true do |f| %>
<div class="field">
<%= f.label :file %>
<%= f.file_field :file %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
컨트롤러에서
def create
respond_to do |format|
if @sample.save
format.js
end
end
end
create.js.erb
// Display a Javascript alert
alert('success!');
<% if remotipart_submitted? %>
alert('submitted via remotipart')
<% else %>
alert('submitted via native jquery-ujs')
<% end %>
적어도 표준 방식으로는 AJAX 이미지 업로드가 작동하지 않습니다.
그것을 작동시키는 더 새로운 HTML5 기법들과 다음을 사용하는 해결책들이 있습니다.<iframe>
진행률 측정기로 여러 개의 파일 ajax 업로드를 하고 브라우저에 따라 다른 기술을 사용하도록 성능을 떨어뜨리는 훌륭한 라이브러리가 있습니다.
AJAX 업로드 라이브러리: http://valums.com/ajax-upload/
약간의 추가 작업이 필요하겠지만, 결과는 정말 좋을 수 있습니다!
언급URL : https://stackoverflow.com/questions/7376304/remote-true-not-working-when-a-file-uploader-is-used-in-form
'programing' 카테고리의 다른 글
CSS에서 ="XYZ"의 라벨을 선택하는 방법은? (0) | 2023.09.06 |
---|---|
동일한 Jenkins 작업 공간에서 여러 git 저장소 체크아웃 (0) | 2023.09.06 |
jQuery의 ajax 메서드를 사용하여 이미지를 blob으로 검색 (0) | 2023.09.06 |
JavaScript + MariaDB: json 개체 배열을 반환하고 응답에서 '\' 포워드 슬래시를 제거하는 SQL 쿼리 (0) | 2023.09.06 |
OAuth2Rest Template 사용법? (0) | 2023.09.06 |