मुझे एक अजीब त्रुटि मिल रही है। मेरा ऐप मेरी स्थानीय होस्ट पर बिल्कुल ठीक चलता है, लेकिन मेरी Heroku सर्वर पर इस त्रुटि दे रही है: TypeError (String can't be coerced into Fixnum):
टाइप एरर (स्ट्रिंग को फिक्सनम में घुमाया नहीं जा सकता है)?
यहाँ मेरी कोड है:
@rep = rep_score(@u)
लॉग लाइन त्रुटि फेंक है के अनुसार। मैंने इसे टिप्पणी की है और हेरोोकू में बदलावों को धक्का दिया है और ऐप अभी ठीक चल रहा है।
def rep_score(user)
rep = 0
user.badges.each do |b|
rep = rep + b.rep_bonus
end
return rep
end
इसके अलावा rep_bonus
डेटाबेस में एक पूर्णांक है:
यहाँ rep_score
तरीका है।
फिर यह स्थानीयहोस्ट पर पूरी तरह ठीक है। आप क्या सोचते हैं मुझे बताओ।
rep_score
विधि से return
को हटाने के बाद यह ठीक काम कर रहा है। मैं रूबी के लिए अभी भी नया हूं, क्या return
डालने में कुछ गड़बड़ है? यह अन्य भाषाओं से आदत है।
क्यों मैं कुछ टाइपकास्ट करने के लिए जब वे दोनों पूर्णांक हैं की जरूरत है ? और यह जवाब नहीं देता है कि यह स्थानीयहोस्ट पर क्यों काम करता है। – Deekor
एक सार्वभौमिक सवाल क्यों है। मेरे पास बिल्कुल जवाब क्यों नहीं है, लेकिन यह इस मुद्दे को हल करता है। मैंने पाया है कि मेरे डेटाबेस से पूर्णांक खींचे जा रहे हैं, हमेशा सही प्रकार के रूप में सेट नहीं होते हैं। चाहे समस्या मेरे डीबी (मैंने MySQL का उपयोग किया हो) के साथ है या नहीं, मुझे एक सामान्य टाइपकास्ट के रूप में पता लगाने की परवाह नहीं है कि पूरे मुद्दे को हल किया गया है। लोकलहोस्ट और उत्पादन एक पूरी तरह से अलग वातावरण है। लाखों संभावनाएं हो सकती हैं। रूबी संस्करण अलग-अलग हैं, मणि बंदरगाह समान नहीं हैं, प्लेटफॉर्म अलग हैं, डेटाबेस संस्करण अलग हैं ... सूची चालू और चालू होती है, और मेरे पास जवाब देने के लिए 40 वर्ण शेष हैं। – CrazyVipa
यदि आप मेरा संपादन पढ़ते हैं, तो आप देख सकते हैं कि मैंने इस प्रश्न का उत्तर देने से पहले 'वापसी' से छुटकारा पाने के साथ इसे ठीक कर दिया है। क्या कोई कारण है कि रिटर्न त्रुटि उत्पन्न कर रहा था? – Deekor