आइए कहें कि मैं एक ऐसा पृष्ठ बनाना चाहता हूं जो वांछित ऑब्जेक्ट को प्रकार (स्ट्रिंग) और आईडी (int) से क्वेरी कर सके।स्टिंग इनपुट के साथ मॉडल का संदर्भ
/क्वेरी? Type = लोग & आईडी = 1
मुझे लाने होगा
Person.find (1)
जबकि
/कुए ry? type = शहरों & आईडी = 123
मुझे लाने होगा
City.find (123)
हालांकि, मैं समस्याओं कैसे वांछित में स्ट्रिंग का अनुवाद करने के लिए के रूप में है मॉडल वर्ग
एक ही रास्ता मैं के बारे में सोच सकते हैं
case params[:type]
when 'people'
@object = Person.find(params[:id])
when 'cities'
@object = City.find(params[:id])
end
हालांकि है, इस पद्धति काफी समस्याग्रस्त अगर मैं मॉडल के अधिक प्रकार है किया जाएगा।
क्या कोई बेहतर तरीका है?
अग्रिम धन्यवाद,
आप एक स्थिति में दिखाई दे सकती आप स्वचालित रूप से ऐसा करने की कोशिश जहां एक हमलावर भेज सकते हैं "/query? type = TOP_SECRET_TABLE और id = 1 "और जानकारी प्राप्त करें जिसे उसे एक्सेस करने की अनुमति नहीं दी जानी चाहिए। आप जो चाहते हैं उससे सावधान रहें। – Sebi
यह वास्तव में टैगिंग ऑब्जेक्ट्स के लिए AJAX के लिए है। तो मेरा अगला कदम @ object.tags << टैग जैसा होगा। लेकिन सवाल को सरल रखना चाहते थे इसलिए इस तरह से पूछा गया। फिर भी धन्यवाद! – rickypai