मैं रेल 3 पर अच्छी तरह से काम कर रहे कुछ कोड का उपयोग करता हूं लेकिन रेल 4 पर नहीं, मुझे लगता है कि यह टर्बोलिंक्स के कारण होता है लेकिन मुझे इसके बारे में ज्यादा जानकारी नहीं है, और अधिक गहरी खुदाई नहीं कर सकतीरेल 4 टर्बोलिंक्स फॉर्म कई बार सबमिट करते हैं
दृश्य:
a/v/m/_new_comment.slim
.new-comment
- if current_user
= render "editor_toolbar"
= form_for(Comment.new, :remote => true, :url => mission_comments_path(@mission)) do |f|
= f.text_area :content, :class => "span10",
:rows => "4", :tabindex => "1"
#preview.hidden
= "Loading..."
= f.submit t("missions.submit_comment"),
"data-disable-with" => t("missions.submitting"),
:class => "btn btn-primary", :tabindex => "2"
- else
= render "need_login_to_comment"
नियंत्रक:
def create
@mission = Mission.find(params[:mission_id])
@comment = @mission.comments.build(comment_params)
@comment.user = current_user
if @comment.save
@mission.events.create(user: current_user, action: "comment")
render layout: false
end
और js:
मेरी समस्या का समाधान, यहाँ कोड है<% if @comment.errors.any? %>
$(".new-comment textarea").focus();
<% else %>
$(".comments").append("<%= j (render @comment, :index => @mission.comments.count-1) %>");
$(".new-comment #preview").addClass("hidden").html('');
$(".new-comment textarea").css("display", "block").val('');
$(".editor-toolbar .preview").removeClass("active");
$(".editor-toolbar .edit").addClass("active");
<% end %>
मेरे पास इस कोड के बारे में दो प्रश्न हैं, पहले: इस तरह का नियंत्रक कोड काम नहीं करता है जेएस कोड क्लाइंट को हस्तांतरित करता है लेकिन नहीं चलता है, मुझे उस क्रिया के नीचे render layout: false
जोड़ना होगा, इसकी आवश्यकता नहीं है रेल 3
दूसरा प्रश्न: जब मैं पहली बार इस पृष्ठ पर जाता हूं, पृष्ठ को फिर से लोड करता हूं, टिप्पणी फ़ंक्शन काम करता है, लेकिन यदि मैं इस पृष्ठ पर जाने के लिए अन्य पृष्ठों से एक लिंक पर क्लिक करता हूं, तो मैं यह फॉर्म जमा करता हूं AJAX अनुरोध कॉल एकाधिक कई बार, कई टिप्पणियां बनाई जाएंगी
अग्रिम में धन्यवाद
मैं अपने विशिष्ट कोड पर टिप्पणी नहीं कर सकता, लेकिन आप टर्बो निकालने का प्रयास कर सकते हैं -लिंक्स और देखकर अगर यह बिना काम करता है। [टर्बोलिंक्स को हटाने के निर्देश] (http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4) –
एप्लिकेशन.जेएस फ़ाइल से टर्बोलिंक को हटा दें, यह केवल –