मैं रूबी के लिए नया हूं और हाल ही में रेल अनुप्रयोग पर रुबी बनाते समय मूल्यों की तुलना में एक समस्या में भाग गया।सिंटैक्स चेकिंग पर रेल रूबी की जांच या "संकलन"
if (user.id != params[:id])
समस्या user.id था (जो किसी सक्रिय रिकॉर्ड है) एक पूर्णांक और पैरामीटर है [: id] एक स्ट्रिंग है एक नियंत्रक में मैं निम्नलिखित बयान कि हमेशा गलत लौटे था। मुझे यह पता लगाने में थोड़ी देर लग गई और मैंने अंततः इसे बदल दिया:
if (user.id != params[:id].to_i)
अब कथन अपेक्षित कार्य करता है।
भविष्य में इस त्रुटि से बचने के लिए यदि आप दो अलग-अलग प्रकारों की तुलना करने की कोशिश करते हैं तो आपको "संकलित" करने के लिए एक तरीका है या रूबी प्राप्त करने का कोई तरीका है? कुछ अन्य मुद्दों में मैंने भाग लिया है, मैं "संकलन जांच" करना चाहता हूं:
- मुझे चेतावनी दें कि क्या मैं एक चर बना देता हूं लेकिन इसका उपयोग नहीं करता हूं। चर नामों में टाइपो की जांच करने में मदद के लिए।
- सुनिश्चित करें कि कक्षा में कोई विधि मौजूद है, इसलिए मैं विधि नाम टाइपो से बच सकता हूं और रीफैक्टरिंग में भी मदद कर सकता हूं, उदाहरण के लिए यदि मैं किसी विधि का नाम बदलता हूं।
मैं वर्तमान में रेल 2.3.2 और विंडोज़ पर राड्रेल आईडीई के साथ रूबी 1.8.6-27 आरसी 2 का उपयोग कर रहा हूं।
कृपया अपने कोड का परीक्षण करने के बारे में कोई जवाब नहीं है। मेरे पास उपरोक्त कोड खंड के लिए एक यूनिट परीक्षण था और यह विफल रहा (मेरे मैन्युअल परीक्षण के साथ) और मुझे पता नहीं लगा कि क्यों। जो मैं खोज रहा हूं वह रूबी के लिए एक वाक्यविन्यास परीक्षक है जो समान संकुल मानक संकलक पाता है। Thanx। –
ए सी कंपाइलर आपको 4 == 5.5 करने में त्रुटि नहीं देगा। – Chuck
जेटब्रेन रूबी विचार देखें, https://www.jetbrains.com/ruby/ –