activerecord - Rails 3 LIKE query raises exception when using a double colon and a dot -


रेल 3.0.0 में, निम्न प्रश्न ठीक काम करता है:

  author.where ( "नाम की तरह: इनपुट", {: इनपुट = & gt; "# {params [: q]}%"})। शामिल हैं (: पुस्तकें) .order ('created_at')  

हालांकि, जब मैं खोज स्ट्रिंग के रूप में इनपुट करता हूं (इस तरह एक डॉट द्वारा दोहरे बृहदान्त्र युक्त):

aa: .bb

मुझे निम्न अपवाद मिलता है :

ActiveRecord :: वक्तव्यअवैध: SQLite3 :: SQLException: अस्पष्ट स्तंभ नाम: created_at

लॉग में ये एसक्यूएल क्वेरी हैं:

ऐसा लगता है कि आ.ए.बी.बी. इनपुट के साथ, विशिष्ट लेखक id_s लाने के लिए एक अतिरिक्त क्वेरी बनाई जाती है। < / P>

मैंने सोचा था कि रेल सभी पात्रों से बच जाएगा। क्या यह अपेक्षित व्यवहार या बग है?

सबसे अच्छा संबंध,

पीटर

" अस्पष्ट स्तंभ "त्रुटि आम तौर पर तब होती है जब आप उपयोग करते हैं या जुड़ते हैं और निर्दिष्ट नहीं करते कि आप किस तालिका का संदर्भ ले रहे हैं:

 " नाम पसंद करें: इनपुट "  

होना चाहिए:

  "लेखक। नाम की तरह: इनपुट"  

बस "नाम" अस्पष्ट है अगर आपकी पुस्तकों तालिका में एक नाम का स्तंभ भी है।

इसके अलावा: अपने विकास को देखो। लॉग यह देखने के लिए कि जेनरेट किए गए क्वेरी कैसा दिखता है। यह आपको दिखाएगा कि वह ठीक से भाग रहा है।


Comments