मैं अपने ऐप में प्रमाणीकरण का प्रबंधन करने के लिए डेविस और डेविसइवेबल के साथ काम कर रहा हूं और मुझे आमंत्रण नियंत्रक # अपडेट में AJAX समर्थन जोड़ने में कुछ परेशानी हो रही है। DeviseInvitable में नियंत्रक इस तरह दिखता है:"answer_with_navigational" कैसे काम करता है?
# invitations_controller.rb
# PUT /resource/invitation
def update
self.resource = resource_class.accept_invitation!(params[resource_name])
if resource.errors.empty?
set_flash_message :notice, :updated
sign_in(resource_name, resource)
respond_with resource, :location => after_accept_path_for(resource)
else
respond_with_navigational(resource){ render_with_scope :edit }
end
end
यह अच्छी तरह से काम करता है जब resource.errors.empty? == true
और हम निष्पादित करें:
respond_with resource, :location => after_accept_path_for(resource)
(अर्थात निमंत्रण/update.js.erb प्रदान की गई है और मेरे जावास्क्रिप्ट कॉल किए जाते हैं)। समस्या यह है कि जब resource.errors.empty? == false
है, और हम निष्पादित करें:
respond_with_navigational(resource){ render_with_scope :edit }
सर्वर बताता है:
Rendered invitations/update.js.erb (1.4ms)
लेकिन मेरे जावास्क्रिप्ट कॉल रन नहीं किया जा रहा है। क्या कोई बता सकता है कि respond_with_navigational
क्या करना चाहिए? मैं घंटों तक गुगल रहा हूं और मुझे कहीं भी इस एपीआई का स्पष्टीकरण नहीं मिला है।
धन्यवाद!
इस उत्तर के कारण यहां आया: http://stackoverflow.com/a/9154096/18706 (यदि कोई इसका उपयोग करने का व्यावहारिक उदाहरण ढूंढ रहा हो)। – mahemoff
इसके अलावा, यह डिफ़ॉल्ट प्रारंभकर्ता में एक विवरण है: https://gist.github.com/3824340 – mahemoff