Có cách nào dễ dàng để xử lý tải lên tệp AJAX trong Rails không? ví dụ. với một pluginRuby on Rails Tải lên tệp AJAX
Trả lời
Chắc chắn điều đó là có thể, here Bạn có một hướng dẫn và một vài liên kết đến các plugin.
Nếu bạn đang sử dụng Rails 3, tôi đã viết một plugin làm cho tệp kiểu AJAX tải lên tương đối tầm thường để triển khai.
Tải lên tệp JQuery là dự án tiện ích tải lên tệp rất linh hoạt và linh hoạt.
Xem demo ở đây: http://blueimp.github.com/jQuery-File-Upload/
Dưới đây là một Gem: http://rubygems.org/gems/jquery.fileupload-rails
Các wiki cũng có Rails ví dụ: https://github.com/blueimp/jQuery-File-Upload/wiki
Nó không thực sự cần thiết để sử dụng một số plugin đặc biệt cho điều đó. Cách dễ nhất để tải ảnh ajax cho tôi chỉ là tạo biểu mẫu tải ảnh lên để hoạt động như ajax. Tôi sử dụng plugin ajaxForm jQuery: http://www.malsup.com/jquery/form/ Trả lại ảnh đã tải lên js và đưa nó vào trang của bạn.
Vì vậy, bạn nên thực hiện hình thức của bạn được ajaxForm:
$('#uploader').ajaxForm({dataType: "script",
success: ajaxFormErrorHandler,
error: ajaxFormSuccessHandler
}
khiển trông giống như rằng:
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
và trong ajaxFormSuccessHandler bạn chỉ cần lấy đối tượng hình ảnh:
var photo = jQuery.parseJSON(responseText.responseText);
và đặt ảnh bất cứ nơi nào bạn muốn:
target.find('.addPhoto').before(''+
'<input class="imageId" type="hidden" value='+photo.id+' > '+
'<img src='+photo.photo.thumb.url+' alt="Thumb_1"> ');
P.S: Không thực sự biết tại sao nhưng nếu bạn quay lại xử lý ajaxForm, nó xử lý yêu cầu đó là L ERI không THÀNH CÔNG.
P.P.S: chắc chắn jQuery-File-Upload plugin làm cho nhiều hơn nhưng nếu bạn không cần tất cả những điều đó, bạn có thể sử dụng theo cách này.
P.P.P.S: bạn nên tải lên tệp không phải là ajax chức năng để làm điều đó =)
- 1. Tải tệp lên trong Ruby on Rails
- 2. Tải Ảnh lên Ruby on Rails
- 3. Ruby on rails: Tải lên từ xa Tệp tin bằng AJAX
- 4. Tải lên tệp Ajax
- 5. Rails 4: Cách tải tệp lên bằng AJAX
- 6. Sao chép tệp trong Ruby on Rails
- 7. Ruby on Rails CarrierWave có hoạt động với Ajax không?
- 8. Ruby on Rails, json vs js ajax phản ứng
- 9. Ruby vs Ruby On Rails
- 10. Ruby on Rails 301
- 11. Ruby on Rails: unloadable
- 12. Ruby on Rails CoffeeScript không
- 13. Monit Ruby on Rails Sidekiq
- 14. Tải tệp lên bằng jQuery Ajax
- 15. Tôi làm cách nào để tìm kích thước của tệp được tải lên trong Ruby on Rails?
- 16. Ruby on Rails, phát hiện Javascript
- 17. Làm cách nào để kích hoạt tệp tải lên bằng Trình tải tệp lên Valums Ajax?
- 18. Intellisense cho Ruby, Ruby on Rails, Python
- 19. Ruby on Rails vs Django
- 20. Ruby on rails application root
- 21. Ruby on Rails SMS gửi
- 22. Ruby on rails và Node.js
- 23. Sử dụng Ruby on Rails
- 24. Ruby on Rails trên IIS?
- 25. Antipatterns với Ruby on Rails
- 26. Lỗi Rake Ruby on Rails
- 27. Ruby on Rails javascript_include_tag: defaults
- 28. Tài liệu Ruby on Rails
- 29. Tải tệp thô lên Rails bằng Carrierwave
- 30. Rails Paperclip & Tải lên nhiều tệp
Khá tuyệt vời - bạn có biết bất kỳ giải pháp mẫu tương tự nào không? Đây thực sự là công cụ hữu ích. –
Tôi không biết về bất kỳ giải pháp kiểu Prototype nào nhưng mã jQuery quá tầm thường để triển khai thực hiện, tôi không thể tưởng tượng nó sẽ khó sửa đổi. Nếu bạn muốn giúp đỡ, cảm thấy tự do để ngã ba Remotipart trên github và tôi sẽ hợp nhất nó vào thân cây. http://github.com/formasfunction/remotipart – leppert
Lưu ý cho những người đọc bài đăng này: remotipart có các lỗi quan trọng (chẳng hạn như: không hoạt động với nhiều cấp văn bản được trích dẫn, được biết từ 2 năm) và chủ sở hữu repo không chủ động cố gắng sửa lỗi này. Vì vậy, hãy xem xét điều này trước khi bạn lãng phí giờ (như tôi đã làm) thực hiện nó sau đó thay thế nó bằng một giải pháp khác. – Benj