2011-05-27 14 views
6

के रूप में प्रसंस्करण नहीं कर रहा है, मैं AJAX रिमोट लिंक हैंडलिंग प्राप्त करने के लिए एक link_to के साथ एक link_to बनाने का परीक्षण कर रहा हूं।डेटा-रिमोट = "सत्य" के साथ लिंक JSON

<%= link_to "Get Books", "/books", :remote=> true %> 

rails3 के लिए सहायक ध्यान में रखते हुए सही ढंग से कोड हल करता है और मैं स्रोत के रूप में मिलती है:

<a href="/books" data-remote="true">Get Books</a> 

और मैं डिफ़ॉल्ट जावास्क्रिप्ट शामिल है:

<%= javascript_include_tag :defaults %> 

और स्रोत सिर इस प्रकार हल करता है:

<script src="/javascripts/jquery.js?1302296105" type="text/javascript"></script> 
<script src="/javascripts/rails.js?1302139751" type="text/javascript"></script> 
<script src="/javascripts/application.js?1305999509" type="text/javascript"></script> 

और नियंत्रक में मेरे पास है:

respond_to :html, :json 

हालांकि जब मैं लिंक यह नियमित कड़ी के रूप में लोड करता है क्लिक करें, अजाक्स नहीं और सर्वर लॉग पर:

एचटीएमएल

रूप BooksController # सूचकांक द्वारा प्रसंस्करण

मुझे क्या याद आ रही है?

अपने gemfile को यह करें::

gem 'jquery-rails', '>= 1.0.3' 

और फिर चलाएँ:

उत्तर

7

सुनिश्चित करें कि आप स्थापित किया है कि jQuery UJS Plugin बनाओ

bundle install 
rails g jquery:install 
+2

धन्यवाद! - वह निश्चित रूप से समस्या थी। मुझे "रेल जेनरेट: जेनरेट जेनरेट" भी चलाएं और कॉन्फ़िगर/application.rb में पहले जोड़ा गया "config.action_view.javascript_expansions [: डिफ़ॉल्ट] =% w (jquery रेल)" पर टिप्पणी करें- मुझे लगता है कि मैं इसे मैन्युअल रूप से बदल सकता हूं jquery_ujs को शामिल करने के लिए, लेकिन उस पंक्ति को टिप्पणी करने के लिए सही डिफ़ॉल्ट "डिफ़ॉल्ट" पर वापस आना प्रतीत होता है। सब अब काम कर रहे हैं! – Streamline

3

मैं ने वही समस्या थी: मैं उम्मीद एक रिमोट लिंक जेएस अनुरोध के रूप में संसाधित किया जा सकता है लेकिन रेल किसी भी तरह इसे HTML के रूप में संसाधित कर रहा था।

समस्या यह है कि हम एक प्रारूप निर्दिष्ट नहीं करते हैं और फिर रेल कॉन्फ़िगरेशन के आधार पर रेल किसी भी प्रारूप का चयन कर सकते हैं।

टीएल; डीआर; रिमोट का उपयोग करते समय अनुरोध प्रकार निर्दिष्ट करें:

<%= link_to "Get Books", "/books", data: {remote: true, type: "script"} %> 
+0

मेरे पास एक समान समस्या थी जहां मैंने डेटा-प्रकार विशेषता को बेवकूफ़ ढंग से अधिलेखित किया था। डेटा विशेषता का नाम बदलने से हल हो गया। – oowowaee

संबंधित मुद्दे