Rails'de AJAX dosya yükleme işlemek için herhangi bir kolay yolu var mı? Örneğin.Ruby on Rails AJAX dosya yükleme
cevap
Eklentisi ile here Muhtemelen bir eğiticiniz ve eklentilerle bağlantılarınız var.
Rails 3 kullanıyorsanız, AJAX stili dosya yüklemelerini uygulamak için nispeten önemsiz yapan bir eklenti yazdım.
JQuery Dosya Yükleme çok aktif ve çok yönlü dosya yükleme Widget projedir. http://blueimp.github.com/jQuery-File-Upload/
İşte a Gem:
burada demo izleyin http://rubygems.org/gems/jquery.fileupload-railswiki de Raylar örnekler vardır: https://github.com/blueimp/jQuery-File-Upload/wiki
Bunun için bazı özel eklentileri kullanmak gerçekten gerekli değil. ajax resim yüklemesini yapmanın en kolay yolu, sadece ajax gibi davranmak için resim yükleyen bir form oluşturmaktı. Bunun için ajaxForm jQuery eklentisini kullanıyorum: http://www.malsup.com/jquery/form/ js yüklenen resme dönüp sayfanıza koymadan.
Yani, form ajaxForm olması yapmalıdır:
def add_photo
@photo = PhotosMeasurement.new(params[:user_photo])
respond_to do |format|
if @photo.save
format.json { render :json => @photo}
else
format.json { render :json => nil}
end
end
end
ve ajaxFormSuccessHandler içinde sadece resim nesnesini almak:
var photo = jQuery.parseJSON(responseText.responseText);
ve
$('#uploader').ajaxForm({dataType: "script",
success: ajaxFormErrorHandler,
error: ajaxFormSuccessHandler
}
Kontrolcü benziyor İstediğiniz yere fotoğraf koyun:
target.find('.addPhoto').before(''+
'<input class="imageId" type="hidden" value='+photo.id+' > '+
'<img src='+photo.photo.thumb.url+' alt="Thumb_1"> ');
P.S: Nedenini gerçekten bilmiyorum ama ajaxForm işleyicisine bir şey döndürürseniz, bu isteği ERİŞİM BAŞARI olarak kabul etmez.
P.P.S: şüphesiz jQuery-Dosya Yükleme eklentisi daha fazlasını yapar, ancak bunlara ihtiyacınız yoksa, bu şekilde kullanabilirsiniz.
P.P.P.S:)
- 1. Ruby & Ruby on Rails
- 2. Ruby on Rails - uyumsuz marshal dosya biçimi
- 3. Ruby on Rails dosyasına bir dosya kopyalama
- 4. Ruby vs Ruby On Rails
- 5. Ruby on Rails ilişkiler
- 6. Ruby on Rails
- 7. Ruby on Rails
- 8. Ruby on Rails Dragonfly
- 9. Sadece Ruby on Rails
- 10. Docsplit Ruby on Rails
- 11. Ruby on Rails,
- 12. Ruby on Rails
- 13. Ruby on Rails IE
- 14. Flexbox'ı Ruby on Rails
- 15. Ruby on Rails Switch
- 16. Ruby on Rails
- 17. Ruby on Rails örneği
- 18. Ruby On Rails: form_for üzerindeki file_field örneği
- 19. Button on Ruby on Rails bozuk rota
- 20. Ruby on Rails'e ölçeklenebilir kendi kendine barındırılan dosya yükleme
- 21. Ruby on Rails TaşıyıcıWave gem Ajax ile çalışıyor mu?
- 22. Ruby on Rails 3 uygulamasında jQuery ile AJAX otomatik tamamlama
- 23. Ajax Silme isteği ReactJS ve Ruby on Rails
- 24. Ruby on Rails: form select
- 25. Ruby On rails projesiz testler
- 26. Metin alanına Ruby on Rails
- 27. Ruby on Rails CoffeeScript başarısız
- 28. Ruby On Rails:: alt model
- 29. Ruby on Rails ActiveRecord: çoğullaşma
- 30. Ruby on Rails I18n enterpolasyonu
Oldukça müthiş = o do için zaten işlevsel olmayan ajax dosya yükleme olmalıdır - Herhangi benzer prototip çözümleri biliyoruz? Bu gerçekten yararlı şeyler. –
Herhangi bir Prototip stili çözüm bilmiyorum ama jQuery kodu uygulamak için çok önemsizdi Bunu değiştirmek zor olacağını hayal bile edemiyorum. Eğer yardım etmek isterseniz, Remotipart'ı github üzerinde çekinmeyin ve ben onu gövdeye birleştirelim. http://github.com/formasfunction/remotipart – leppert
Bu yazıyı okuyanlara not edin: remotipart'ın önemli hataları vardır (örneğin: 2 yıldan beri bilinen çok sayıda alıntılanmış metinle çalışmaz) ve repo sahibi aktif olarak değil Bunu düzeltmeye çalışıyorum. Öyleyse, bunu uygulayarak saatlerimi (benim yaptığım gibi) uygulamaya koymadan önce, bunu başka bir çözümle değiştirerek düşünün. – Benj