हाय सब मैं jquery फ़ाइल अपलोड के लिए वीडियो ट्यूटोरियल का पालन कर रहा हूं http://railscasts.com/episodes/381-jquery-file-upload पर और अटक गया हूं। मैं अपलोड छवियों के बाद आंशिक रेंडर नहीं करता है, यह नई छवि और अन्य सभी छवियों को छवि के नीचे जोड़ता है जो पहले से जुड़ा हुआ था। इसलिए यदि मैं एक नई वस्तु में दो छवियां जोड़ता हूं तो यह पहली छवि दिखाता है, फिर पहली छवि के साथ आंशिक फिर से प्रस्तुत करता है और दूसरी छवि के साथ दूसरी छवि होती है, इसलिए कुल में 3 फ़ोटो होती हैं।रेलवे में Jquery फ़ाइल अपलोड 4
यहाँ मेरी मेरी शो पेज से प्रस्तुत करना है मेरी create.js.erb
<% if @photo.new_record? %>
alert("Failed to upload photo: <%= j @photo.errors.full_messages.join(', ').html_safe %>");
<% else %>
$("#photos").append("<%=j render @photo %>");
<% end %>
यहाँ है।
<div id="photos">
<%= render 'photos/photo' %>
</div>
यहाँ मेरी /photos/_photos.html.erb आंशिक
<h2>Images</h2>
<div class="photo">
<% @rental.photos.each do |photo| %>
<p>
<strong>Photo:</strong>
<%= image_tag photo.image_url.to_s %>
</script>
</p>
<% end %>
</div>
यहाँ मेरी तस्वीरें नियंत्रक बनाने है
def create
@rental = Rental.find(params[:rental_id])
@photo = @rental.photos.create(params[:photo].permit(:image))
respond_to do |format|
format.js
end
end
यहाँ मेरी photos.js.jcoffee
हैjQuery ->
$('#new_photo').fileupload(replaceFileInput: false,
paramName: 'photo[image]')
dataType: "script"
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#new_photo').append(data.context)
data.submit()
else
alert("#{file.name} is not a gif, jpeg, or png image file")
progress: (e, data) ->
if data.context
progress = parseInt(data.loaded/data.total * 100, 10)
data.context.find('.bar').css('width', progress + '%')
कोई भी मदद जी होगी रीट, मैं अटक गया हूँ। धन्यवाद!
बहुत धन्यवाद रिच पेक ने अपना जवाब पूरी तरह से मेरी समस्या का समाधान किया। मैं
<% if @photo.new_record? %>
alert("Failed to upload photo: <%= j @photo.errors.full_messages.join(', ').html_safe %>");
<% else %>
$("#photos").append("<%=j render @photo %>");
<% end %>
बदलने के लिए
<% if @photo.new_record? %>
alert("Failed to upload photo: <%= j @photo.errors.full_messages.join(', ').html_safe %>");
<% else %>
$("#photos").html("<%=j render @photo %>");
<% end %>
हाय रिच, मदद के लिए धन्यवाद पर बहुत अच्छी तरह से काम नहीं करता था। मैंने अपने निर्माण के लिए answer_ जोड़ा है, और कोई बदलाव नहीं है। मैंने सोचा था कि रेंटल को उत्तर देने के लिए जरूरी है कि इसके ऊपर नियंत्रक को इसकी आवश्यकता हो सकती है, लेकिन मुझे एक्शन कंट्रोलर :: अज्ञातफॉर्मैट मिला जब मैंने किराए पर लेने की कार्रवाई के लिए एक ही जवाब जोड़ा। कोई अन्य विचार? –
ठीक है तो समस्या यह है कि आपका जेएस ठीक से प्रस्तुत नहीं कर रहा है, या आपके create.js.erb में सिंटैक्स त्रुटियां हैं। सबसे पहले, आपको अपने create.js.erb में सभी मौजूदा कोड लेना चाहिए और एक साधारण चेतावनी जोड़ें (यह देखने के लिए कि क्या इसे कहा जा रहा है)। आप इस तरह की एक चेतावनी कॉल कर सकते हैं: 'अलर्ट (' टेस्ट '); ' –
हे अमीर, मैंने जो किया है, मैंने किया है, और अलर्ट काम करता है, इसलिए इसका मतलब यह होना चाहिए कि जेएस ठीक से प्रस्तुत नहीं कर रहा है। क्या इसे ट्रैक करने का कोई तरीका है? –